#include"dao_FLTK.h"

DaoMethod* Dao_Get_Object_Method( DaoCData *cd, DValue *obj, const char *name )
{
  DaoMethod *meth;
  if( cd == NULL ) return NULL;
  obj->v.object = DaoCData_GetObject( cd );
  if( obj->v.object == NULL ) return NULL;
  obj->t = DAO_OBJECT;
  meth = DaoObject_GetMethod( obj->v.object, name );
  if( meth == NULL ) return NULL;
  if( meth->type != DAO_METAROUTINE && meth->type != DAO_ROUTINE ) return NULL;
  return meth;
}

static Fl_Device* Function_100ac( int *_cs, DaoMethod *_ro, DValue *_ob )
{
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  Fl_Device* _set_current = NULL;
  if( _ro == NULL ) goto EndCall;
  _ro = DaoMethod_Resolve( _ro, _ob, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, NULL, 0 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_OBJECT && (_cd = DaoObject_MapCData( _res.v.object, dao_Fl_Device_Typer ) ) ){
    _res.t = DAO_CDATA;
    _res.v.cdata = _cd;
  }
  if( _res.t == DAO_CDATA && DaoCData_IsType( _res.v.cdata, dao_Fl_Device_Typer ) ){
    _set_current = (Fl_Device*) DValue_CastCData( &_res, dao_Fl_Device_Typer );
  }

EndCall:
  return _set_current;
}

static Fl_Gl_Window* Function_1004c( int *_cs, DaoMethod *_ro, DValue *_ob )
{
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  Fl_Gl_Window* _as_gl_window = NULL;
  if( _ro == NULL ) goto EndCall;
  _ro = DaoMethod_Resolve( _ro, _ob, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, NULL, 0 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_OBJECT && (_cd = DaoObject_MapCData( _res.v.object, dao_Fl_Gl_Window_Typer ) ) ){
    _res.t = DAO_CDATA;
    _res.v.cdata = _cd;
  }
  if( _res.t == DAO_CDATA && DaoCData_IsType( _res.v.cdata, dao_Fl_Gl_Window_Typer ) ){
    _as_gl_window = (Fl_Gl_Window*) DValue_CastCData( &_res, dao_Fl_Gl_Window_Typer );
  }

EndCall:
  return _as_gl_window;
}

static Fl_Group* Function_1004a( int *_cs, DaoMethod *_ro, DValue *_ob )
{
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  Fl_Group* _as_group = NULL;
  if( _ro == NULL ) goto EndCall;
  _ro = DaoMethod_Resolve( _ro, _ob, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, NULL, 0 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_OBJECT && (_cd = DaoObject_MapCData( _res.v.object, dao_Fl_Group_Typer ) ) ){
    _res.t = DAO_CDATA;
    _res.v.cdata = _cd;
  }
  if( _res.t == DAO_CDATA && DaoCData_IsType( _res.v.cdata, dao_Fl_Group_Typer ) ){
    _as_group = (Fl_Group*) DValue_CastCData( &_res, dao_Fl_Group_Typer );
  }

EndCall:
  return _as_group;
}

static Fl_Image* Function_100c4( int *_cs, DaoMethod *_ro, DValue *_ob, int W, int H )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[2] = { _dao_nil, _dao_nil };
  DValue *_dp2[2] = { _dp+0, _dp+1 };
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  Fl_Image* _copy = NULL;
  if( _ro == NULL ) goto EndCall;
  _dp[0] = DValue_NewInteger( (int) W );
  _dp[1] = DValue_NewInteger( (int) H );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 2 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 2 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_OBJECT && (_cd = DaoObject_MapCData( _res.v.object, dao_Fl_Image_Typer ) ) ){
    _res.t = DAO_CDATA;
    _res.v.cdata = _cd;
  }
  if( _res.t == DAO_CDATA && DaoCData_IsType( _res.v.cdata, dao_Fl_Image_Typer ) ){
    _copy = (Fl_Image*) DValue_CastCData( &_res, dao_Fl_Image_Typer );
  }

EndCall:
  DValue_ClearAll( _dp, 2 );
  return _copy;
}

static Fl_Window* Function_1004b( int *_cs, DaoMethod *_ro, DValue *_ob )
{
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  Fl_Window* _as_window = NULL;
  if( _ro == NULL ) goto EndCall;
  _ro = DaoMethod_Resolve( _ro, _ob, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, NULL, 0 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_OBJECT && (_cd = DaoObject_MapCData( _res.v.object, dao_Fl_Window_Typer ) ) ){
    _res.t = DAO_CDATA;
    _res.v.cdata = _cd;
  }
  if( _res.t == DAO_CDATA && DaoCData_IsType( _res.v.cdata, dao_Fl_Window_Typer ) ){
    _as_window = (Fl_Window*) DValue_CastCData( &_res, dao_Fl_Window_Typer );
  }

EndCall:
  return _as_window;
}

static const char* Function_1006f( int *_cs, DaoMethod *_ro, DValue *_ob )
{
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  const char* _scheme = 0;
  if( _ro == NULL ) goto EndCall;
  _ro = DaoMethod_Resolve( _ro, _ob, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, NULL, 0 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_STRING ) _scheme= (char*) DValue_GetMBString( & _res );

EndCall:
  return _scheme;
}

static const char* Function_100d1( int *_cs, DaoMethod *_ro, DValue *_ob, void* item )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[1] = { _dao_nil };
  DValue *_dp2[1] = { _dp+0 };
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  const char* _item_text = 0;
  if( _ro == NULL ) goto EndCall;
  _dp[0] = DValue_WrapCData( NULL, (void*) item );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 1 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 1 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_STRING ) _item_text= (char*) DValue_GetMBString( & _res );

EndCall:
  DValue_ClearAll( _dp, 1 );
  return _item_text;
}

static int Function_1003f( int *_cs, DaoMethod *_ro, DValue *_ob )
{
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  int _take_focus= (int)0;
  if( _ro == NULL ) goto EndCall;
  _ro = DaoMethod_Resolve( _ro, _ob, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, NULL, 0 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_INTEGER ) _take_focus= (int) _res.v.i;

EndCall:
  return _take_focus;
}

static int Function_10020( int *_cs, DaoMethod *_ro, DValue *_ob )
{
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  int _x= (int)0;
  if( _ro == NULL ) goto EndCall;
  _ro = DaoMethod_Resolve( _ro, _ob, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, NULL, 0 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_INTEGER ) _x= (int) _res.v.i;

EndCall:
  return _x;
}

static int Function_10111( int *_cs, DaoMethod *_ro, DValue *_ob, Fl_Abstract_Printer* _cp0, Fl_Widget* _cp1, int x, int y )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[4] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[4] = { _dp+0, _dp+1, _dp+2, _dp+3 };
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  int _print= (int)0;
  if( _ro == NULL ) goto EndCall;
  _dp[0] = DValue_WrapCData( dao_Fl_Abstract_Printer_Typer, (void*) _cp0 );
  _dp[1] = DValue_WrapCData( dao_Fl_Widget_Typer, (void*) _cp1 );
  _dp[2] = DValue_NewInteger( (int) x );
  _dp[3] = DValue_NewInteger( (int) y );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 4 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 4 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_INTEGER ) _print= (int) _res.v.i;

EndCall:
  DValue_ClearAll( _dp, 4 );
  return _print;
}

static int Function_100bc( int *_cs, DaoMethod *_ro, DValue *_ob, char* _cp0 )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[1] = { _dao_nil };
  DValue *_dp2[1] = { _dp+0 };
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  int _format= (int)0;
  if( _ro == NULL ) goto EndCall;
  _dp[0] = DValue_NewMBString( (char*) _cp0, strlen( (char*)_cp0 ) );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 1 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 1 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_INTEGER ) _format= (int) _res.v.i;

EndCall:
  DValue_ClearAll( _dp, 1 );
  return _format;
}

static int Function_1001b( int *_cs, DaoMethod *_ro, DValue *_ob, int event )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[1] = { _dao_nil };
  DValue *_dp2[1] = { _dp+0 };
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  int _handle= (int)0;
  if( _ro == NULL ) goto EndCall;
  _dp[0] = DValue_NewInteger( (int) event );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 1 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 1 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_INTEGER ) _handle= (int) _res.v.i;

EndCall:
  DValue_ClearAll( _dp, 1 );
  return _handle;
}

static int Function_100af( int *_cs, DaoMethod *_ro, DValue *_ob, int* w, int* h )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[2] = { _dao_nil, _dao_nil };
  DValue *_dp2[2] = { _dp+0, _dp+1 };
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  int _printable_rect= (int)0;
  if( _ro == NULL ) goto EndCall;
  _dp[0] = DValue_NewInteger( (int) *w );
  _dp[1] = DValue_NewInteger( (int) *h );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 2 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 2 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_INTEGER ) _printable_rect= (int) _res.v.i;

EndCall:
  DValue_ClearAll( _dp, 2 );
  return _printable_rect;
}

static int Function_100ae( int *_cs, DaoMethod *_ro, DValue *_ob, int pagecount, int* frompage, int* topage )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[3] = { _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[3] = { _dp+0, _dp+1, _dp+2 };
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  int _start_job= (int)0;
  if( _ro == NULL ) goto EndCall;
  _dp[0] = DValue_NewInteger( (int) pagecount );
  _dp[1] = DValue_NewInteger( (int) *frompage );
  _dp[2] = DValue_NewInteger( (int) *topage );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 3 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 3 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_INTEGER ) _start_job= (int) _res.v.i;

EndCall:
  DValue_ClearAll( _dp, 3 );
  return _start_job;
}

static int Function_10022( int *_cs, DaoMethod *_ro, DValue *_ob, int _cp0, int _cp1, int _cp2, int _cp3 )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[4] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[4] = { _dp+0, _dp+1, _dp+2, _dp+3 };
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  int _damage_resize= (int)0;
  if( _ro == NULL ) goto EndCall;
  _dp[0] = DValue_NewInteger( (int) _cp0 );
  _dp[1] = DValue_NewInteger( (int) _cp1 );
  _dp[2] = DValue_NewInteger( (int) _cp2 );
  _dp[3] = DValue_NewInteger( (int) _cp3 );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 4 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 4 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_INTEGER ) _damage_resize= (int) _res.v.i;

EndCall:
  DValue_ClearAll( _dp, 4 );
  return _damage_resize;
}

static int Function_100a7( int *_cs, DaoMethod *_ro, DValue *_ob, int x, int y, int w, int h, int& X, int& Y, int& W, int& H )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[8] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[8] = { _dp+0, _dp+1, _dp+2, _dp+3, _dp+4, _dp+5, _dp+6, _dp+7 };
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  int _clip_box= (int)0;
  if( _ro == NULL ) goto EndCall;
  _dp[0] = DValue_NewInteger( (int) x );
  _dp[1] = DValue_NewInteger( (int) y );
  _dp[2] = DValue_NewInteger( (int) w );
  _dp[3] = DValue_NewInteger( (int) h );
  _dp[4] = DValue_NewInteger( (int) X );
  _dp[5] = DValue_NewInteger( (int) Y );
  _dp[6] = DValue_NewInteger( (int) W );
  _dp[7] = DValue_NewInteger( (int) H );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 8 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 8 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_INTEGER ) _clip_box= (int) _res.v.i;

EndCall:
  DValue_ClearAll( _dp, 8 );
  return _clip_box;
}

static int Function_100cf( int *_cs, DaoMethod *_ro, DValue *_ob, void* item )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[1] = { _dao_nil };
  DValue *_dp2[1] = { _dp+0 };
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  int _item_height= (int)0;
  if( _ro == NULL ) goto EndCall;
  _dp[0] = DValue_WrapCData( NULL, (void*) item );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 1 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 1 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  if( _res.t == DAO_INTEGER ) _item_height= (int) _res.v.i;

EndCall:
  DValue_ClearAll( _dp, 1 );
  return _item_height;
}

static void Function_10008( int *_cs, DaoMethod *_ro, DValue *_ob )
{
  if( _ro == NULL ) return;
  _ro = DaoMethod_Resolve( _ro, _ob, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}

static void Function_100ab( int *_cs, DaoMethod *_ro, DValue *_ob, Fl_Bitmap* bmp, int XP, int YP, int WP, int HP, int cx, int cy )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[7] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[7] = { _dp+0, _dp+1, _dp+2, _dp+3, _dp+4, _dp+5, _dp+6 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_WrapCData( dao_Fl_Bitmap_Typer, (void*) bmp );
  _dp[1] = DValue_NewInteger( (int) XP );
  _dp[2] = DValue_NewInteger( (int) YP );
  _dp[3] = DValue_NewInteger( (int) WP );
  _dp[4] = DValue_NewInteger( (int) HP );
  _dp[5] = DValue_NewInteger( (int) cx );
  _dp[6] = DValue_NewInteger( (int) cy );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 7 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 7 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 7 );
}

static void Function_10029( int *_cs, DaoMethod *_ro, DValue *_ob, Fl_Color bg )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[1] = { _dao_nil };
  DValue *_dp2[1] = { _dp+0 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) bg );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 1 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 1 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 1 );
}

static void Function_100c5( int *_cs, DaoMethod *_ro, DValue *_ob, Fl_Color c, float i )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[2] = { _dao_nil, _dao_nil };
  DValue *_dp2[2] = { _dp+0, _dp+1 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) c );
  _dp[1] = DValue_NewFloat( (float) i );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 2 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 2 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 2 );
}

static void Function_100a0( int *_cs, DaoMethod *_ro, DValue *_ob, Fl_Font face, Fl_Fontsize size )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[2] = { _dao_nil, _dao_nil };
  DValue *_dp2[2] = { _dp+0, _dp+1 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) face );
  _dp[1] = DValue_NewInteger( (int) size );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 2 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 2 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 2 );
}

static void Function_100c6( int *_cs, DaoMethod *_ro, DValue *_ob, Fl_Menu_Item* m )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[1] = { _dao_nil };
  DValue *_dp2[1] = { _dp+0 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_WrapCData( dao_Fl_Menu_Item_Typer, (void*) m );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 1 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 1 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 1 );
}

static void Function_100a9( int *_cs, DaoMethod *_ro, DValue *_ob, Fl_Pixmap* pxm, int XP, int YP, int WP, int HP, int cx, int cy )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[7] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[7] = { _dp+0, _dp+1, _dp+2, _dp+3, _dp+4, _dp+5, _dp+6 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_WrapCData( dao_Fl_Pixmap_Typer, (void*) pxm );
  _dp[1] = DValue_NewInteger( (int) XP );
  _dp[2] = DValue_NewInteger( (int) YP );
  _dp[3] = DValue_NewInteger( (int) WP );
  _dp[4] = DValue_NewInteger( (int) HP );
  _dp[5] = DValue_NewInteger( (int) cx );
  _dp[6] = DValue_NewInteger( (int) cy );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 7 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 7 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 7 );
}

static void Function_100aa( int *_cs, DaoMethod *_ro, DValue *_ob, Fl_RGB_Image* rgb, int XP, int YP, int WP, int HP, int cx, int cy )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[7] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[7] = { _dp+0, _dp+1, _dp+2, _dp+3, _dp+4, _dp+5, _dp+6 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_WrapCData( dao_Fl_RGB_Image_Typer, (void*) rgb );
  _dp[1] = DValue_NewInteger( (int) XP );
  _dp[2] = DValue_NewInteger( (int) YP );
  _dp[3] = DValue_NewInteger( (int) WP );
  _dp[4] = DValue_NewInteger( (int) HP );
  _dp[5] = DValue_NewInteger( (int) cx );
  _dp[6] = DValue_NewInteger( (int) cy );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 7 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 7 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 7 );
}

static void Function_10056( int *_cs, DaoMethod *_ro, DValue *_ob, Fl_Widget* o )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[1] = { _dao_nil };
  DValue *_dp2[1] = { _dp+0 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_WrapCData( dao_Fl_Widget_Typer, (void*) o );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 1 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 1 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 1 );
}

static void Function_10005( int *_cs, DaoMethod *_ro, DValue *_ob, Fl_Widget* w, DValue userdata )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[2] = { _dao_nil, _dao_nil };
  DValue *_dp2[2] = { _dp+0, _dp+1 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_WrapCData( dao_Fl_Widget_Typer, (void*) w );
  DValue_Copy( _dp2[1], userdata );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 2 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 2 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 2 );
}

static void Function_10041( int *_cs, DaoMethod *_ro, DValue *_ob, Fl_Widget* cb, void* d )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[2] = { _dao_nil, _dao_nil };
  DValue *_dp2[2] = { _dp+0, _dp+1 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_WrapCData( dao_Fl_Widget_Typer, (void*) cb );
  _dp[1] = DValue_WrapCData( NULL, (void*) d );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 2 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 2 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 2 );
}

static void Function_1009e( int *_cs, DaoMethod *_ro, DValue *_ob, const char* str, int n, int x, int y )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[4] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[4] = { _dp+0, _dp+1, _dp+2, _dp+3 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewMBString( (char*) str, strlen( (char*)str ) );
  _dp[1] = DValue_NewInteger( (int) n );
  _dp[2] = DValue_NewInteger( (int) x );
  _dp[3] = DValue_NewInteger( (int) y );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 4 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 4 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 4 );
}

static void Function_100a8( int *_cs, DaoMethod *_ro, DValue *_ob, const uchar* _cp0, int _cp1, int _cp2, int _cp3, int _cp4, int delta, int ldelta )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[7] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[7] = { _dp+0, _dp+1, _dp+2, _dp+3, _dp+4, _dp+5, _dp+6 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewMBString( (char*) _cp0, strlen( (char*)_cp0 ) );
  _dp[1] = DValue_NewInteger( (int) _cp1 );
  _dp[2] = DValue_NewInteger( (int) _cp2 );
  _dp[3] = DValue_NewInteger( (int) _cp3 );
  _dp[4] = DValue_NewInteger( (int) _cp4 );
  _dp[5] = DValue_NewInteger( (int) delta );
  _dp[6] = DValue_NewInteger( (int) ldelta );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 7 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 7 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 7 );
}

static void Function_100a2( int *_cs, DaoMethod *_ro, DValue *_ob, double x, double y )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[2] = { _dao_nil, _dao_nil };
  DValue *_dp2[2] = { _dp+0, _dp+1 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewDouble( (double) x );
  _dp[1] = DValue_NewDouble( (double) y );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 2 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 2 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 2 );
}

static void Function_100a4( int *_cs, DaoMethod *_ro, DValue *_ob, double x, double y, double r )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[3] = { _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[3] = { _dp+0, _dp+1, _dp+2 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewDouble( (double) x );
  _dp[1] = DValue_NewDouble( (double) y );
  _dp[2] = DValue_NewDouble( (double) r );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 3 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 3 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 3 );
}

static void Function_100a5( int *_cs, DaoMethod *_ro, DValue *_ob, double x, double y, double r, double start, double a )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[5] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[5] = { _dp+0, _dp+1, _dp+2, _dp+3, _dp+4 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewDouble( (double) x );
  _dp[1] = DValue_NewDouble( (double) y );
  _dp[2] = DValue_NewDouble( (double) r );
  _dp[3] = DValue_NewDouble( (double) start );
  _dp[4] = DValue_NewDouble( (double) a );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 5 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 5 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 5 );
}

static void Function_100a3( int *_cs, DaoMethod *_ro, DValue *_ob, double x, double y, double x1, double y1, double x2, double y2, double x3, double y3 )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[8] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[8] = { _dp+0, _dp+1, _dp+2, _dp+3, _dp+4, _dp+5, _dp+6, _dp+7 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewDouble( (double) x );
  _dp[1] = DValue_NewDouble( (double) y );
  _dp[2] = DValue_NewDouble( (double) x1 );
  _dp[3] = DValue_NewDouble( (double) y1 );
  _dp[4] = DValue_NewDouble( (double) x2 );
  _dp[5] = DValue_NewDouble( (double) y2 );
  _dp[6] = DValue_NewDouble( (double) x3 );
  _dp[7] = DValue_NewDouble( (double) y3 );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 8 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 8 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 8 );
}

static void Function_100b3( int *_cs, DaoMethod *_ro, DValue *_ob, float angle )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[1] = { _dao_nil };
  DValue *_dp2[1] = { _dp+0 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewFloat( (float) angle );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 1 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 1 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 1 );
}

static void Function_100b2( int *_cs, DaoMethod *_ro, DValue *_ob, float scale_x, float scale_y )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[2] = { _dao_nil, _dao_nil };
  DValue *_dp2[2] = { _dp+0, _dp+1 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewFloat( (float) scale_x );
  _dp[1] = DValue_NewFloat( (float) scale_y );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 2 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 2 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 2 );
}

static void Function_10013( int *_cs, DaoMethod *_ro, DValue *_ob, int v )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[1] = { _dao_nil };
  DValue *_dp2[1] = { _dp+0 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) v );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 1 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 1 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 1 );
}

static void Function_100b0( int *_cs, DaoMethod *_ro, DValue *_ob, int* left, int* top, int* right, int* bottom )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[4] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[4] = { _dp+0, _dp+1, _dp+2, _dp+3 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) *left );
  _dp[1] = DValue_NewInteger( (int) *top );
  _dp[2] = DValue_NewInteger( (int) *right );
  _dp[3] = DValue_NewInteger( (int) *bottom );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 4 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 4 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 4 );
}

static void Function_1009f( int *_cs, DaoMethod *_ro, DValue *_ob, int angle, const char* str, int n, int x, int y )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[5] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[5] = { _dp+0, _dp+1, _dp+2, _dp+3, _dp+4 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) angle );
  _dp[1] = DValue_NewMBString( (char*) str, strlen( (char*)str ) );
  _dp[2] = DValue_NewInteger( (int) n );
  _dp[3] = DValue_NewInteger( (int) x );
  _dp[4] = DValue_NewInteger( (int) y );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 5 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 5 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 5 );
}

static void Function_10023( int *_cs, DaoMethod *_ro, DValue *_ob, int X, int Y )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[2] = { _dao_nil, _dao_nil };
  DValue *_dp2[2] = { _dp+0, _dp+1 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) X );
  _dp[1] = DValue_NewInteger( (int) Y );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 2 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 2 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 2 );
}

static void Function_1009b( int *_cs, DaoMethod *_ro, DValue *_ob, int style, int width, char* dashes )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[3] = { _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[3] = { _dp+0, _dp+1, _dp+2 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) style );
  _dp[1] = DValue_NewInteger( (int) width );
  _dp[2] = DValue_NewMBString( (char*) dashes, strlen( (char*)dashes ) );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 3 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 3 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 3 );
}

static void Function_1005e( int *_cs, DaoMethod *_ro, DValue *_ob, int x, int y, int offscreen )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[3] = { _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[3] = { _dp+0, _dp+1, _dp+2 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) x );
  _dp[1] = DValue_NewInteger( (int) y );
  _dp[2] = DValue_NewInteger( (int) offscreen );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 3 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 3 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 3 );
}

static void Function_10021( int *_cs, DaoMethod *_ro, DValue *_ob, int x, int y, int w, int h )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[4] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[4] = { _dp+0, _dp+1, _dp+2, _dp+3 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) x );
  _dp[1] = DValue_NewInteger( (int) y );
  _dp[2] = DValue_NewInteger( (int) w );
  _dp[3] = DValue_NewInteger( (int) h );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 4 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 4 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 4 );
}

static void Function_100a6( int *_cs, DaoMethod *_ro, DValue *_ob, int x, int y, int w, int h, double a1, double a2 )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[6] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[6] = { _dp+0, _dp+1, _dp+2, _dp+3, _dp+4, _dp+5 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) x );
  _dp[1] = DValue_NewInteger( (int) y );
  _dp[2] = DValue_NewInteger( (int) w );
  _dp[3] = DValue_NewInteger( (int) h );
  _dp[4] = DValue_NewDouble( (double) a1 );
  _dp[5] = DValue_NewDouble( (double) a2 );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 6 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 6 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 6 );
}

static void Function_1009c( int *_cs, DaoMethod *_ro, DValue *_ob, int x, int y, int x1, int y2, int x3 )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[5] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[5] = { _dp+0, _dp+1, _dp+2, _dp+3, _dp+4 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) x );
  _dp[1] = DValue_NewInteger( (int) y );
  _dp[2] = DValue_NewInteger( (int) x1 );
  _dp[3] = DValue_NewInteger( (int) y2 );
  _dp[4] = DValue_NewInteger( (int) x3 );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 5 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 5 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 5 );
}

static void Function_1009d( int *_cs, DaoMethod *_ro, DValue *_ob, int x, int y, int x1, int y1, int x2, int y2 )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[6] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[6] = { _dp+0, _dp+1, _dp+2, _dp+3, _dp+4, _dp+5 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) x );
  _dp[1] = DValue_NewInteger( (int) y );
  _dp[2] = DValue_NewInteger( (int) x1 );
  _dp[3] = DValue_NewInteger( (int) y1 );
  _dp[4] = DValue_NewInteger( (int) x2 );
  _dp[5] = DValue_NewInteger( (int) y2 );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 6 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 6 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 6 );
}

static void Function_10061( int *_cs, DaoMethod *_ro, DValue *_ob, int a, int b, int c, int d, int e, int f, int g )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[7] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[7] = { _dp+0, _dp+1, _dp+2, _dp+3, _dp+4, _dp+5, _dp+6 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) a );
  _dp[1] = DValue_NewInteger( (int) b );
  _dp[2] = DValue_NewInteger( (int) c );
  _dp[3] = DValue_NewInteger( (int) d );
  _dp[4] = DValue_NewInteger( (int) e );
  _dp[5] = DValue_NewInteger( (int) f );
  _dp[6] = DValue_NewInteger( (int) g );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 7 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 7 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 7 );
}

static void Function_100a1( int *_cs, DaoMethod *_ro, DValue *_ob, int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[8] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[8] = { _dp+0, _dp+1, _dp+2, _dp+3, _dp+4, _dp+5, _dp+6, _dp+7 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) x0 );
  _dp[1] = DValue_NewInteger( (int) y0 );
  _dp[2] = DValue_NewInteger( (int) x1 );
  _dp[3] = DValue_NewInteger( (int) y1 );
  _dp[4] = DValue_NewInteger( (int) x2 );
  _dp[5] = DValue_NewInteger( (int) y2 );
  _dp[6] = DValue_NewInteger( (int) x3 );
  _dp[7] = DValue_NewInteger( (int) y3 );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 8 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 8 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 8 );
}

static void Function_1006e( int *_cs, DaoMethod *_ro, DValue *_ob, uchar _cp0, uchar _cp1, uchar _cp2 )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[3] = { _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[3] = { _dp+0, _dp+1, _dp+2 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_NewInteger( (int) _cp0 );
  _dp[1] = DValue_NewInteger( (int) _cp1 );
  _dp[2] = DValue_NewInteger( (int) _cp2 );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 3 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 3 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 3 );
}

static void Function_100d4( int *_cs, DaoMethod *_ro, DValue *_ob, void* item, int val )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[2] = { _dao_nil, _dao_nil };
  DValue *_dp2[2] = { _dp+0, _dp+1 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_WrapCData( NULL, (void*) item );
  _dp[1] = DValue_NewInteger( (int) val );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 2 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 2 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 2 );
}

static void Function_100d0( int *_cs, DaoMethod *_ro, DValue *_ob, void* item, int X, int Y, int W, int H )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[5] = { _dao_nil, _dao_nil, _dao_nil, _dao_nil, _dao_nil };
  DValue *_dp2[5] = { _dp+0, _dp+1, _dp+2, _dp+3, _dp+4 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_WrapCData( NULL, (void*) item );
  _dp[1] = DValue_NewInteger( (int) X );
  _dp[2] = DValue_NewInteger( (int) Y );
  _dp[3] = DValue_NewInteger( (int) W );
  _dp[4] = DValue_NewInteger( (int) H );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 5 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 5 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 5 );
}

static void Function_100d2( int *_cs, DaoMethod *_ro, DValue *_ob, void* a, void* b )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[2] = { _dao_nil, _dao_nil };
  DValue *_dp2[2] = { _dp+0, _dp+1 };
  if( _ro == NULL ) return;
  _dp[0] = DValue_WrapCData( NULL, (void*) a );
  _dp[1] = DValue_WrapCData( NULL, (void*) b );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 2 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  *_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 2 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
  DValue_ClearAll( _dp, 2 );
}

static void* Function_1003a( int *_cs, DaoMethod *_ro, DValue *_ob )
{
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  void* _user_data = 0;
  if( _ro == NULL ) goto EndCall;
  _ro = DaoMethod_Resolve( _ro, _ob, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, NULL, 0 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );

EndCall:
  return _user_data;
}

static void* Function_100d3( int *_cs, DaoMethod *_ro, DValue *_ob, int index )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[1] = { _dao_nil };
  DValue *_dp2[1] = { _dp+0 };
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  void* _item_at = 0;
  if( _ro == NULL ) goto EndCall;
  _dp[0] = DValue_NewInteger( (int) index );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 1 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 1 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );

EndCall:
  DValue_ClearAll( _dp, 1 );
  return _item_at;
}

static void* Function_100ce( int *_cs, DaoMethod *_ro, DValue *_ob, void* item )
{
  const DValue _dao_nil = {0,0,0,0,{0}};
  DValue _dp[1] = { _dao_nil };
  DValue *_dp2[1] = { _dp+0 };
  DValue _res;
  DaoCData *_cd;
  DaoVmProcess *_vmp;
  void* _item_next = 0;
  if( _ro == NULL ) goto EndCall;
  _dp[0] = DValue_WrapCData( NULL, (void*) item );

  _ro = DaoMethod_Resolve( _ro, _ob, _dp2, 1 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) goto EndCall;
  _vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  if( (*_cs = DaoVmProcess_Call( _vmp, _ro, _ob, _dp2, 1 )) ==0 ) goto EndCall;
  _res = DaoVmProcess_GetReturned( _vmp );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );

EndCall:
  DValue_ClearAll( _dp, 1 );
  return _item_next;
}

void Dao_Fl_Callback( Fl_Widget* w, void *_ud )
{
  DaoCallbackData *_daocallbackdata = (DaoCallbackData*) _ud;
  DaoMethod *_ro = _daocallbackdata->callback;
  DValue userdata = _daocallbackdata->userdata;
  int _cs = 0;
  if( _ro ==NULL ) return;
  Function_10005( & _cs, _ro, NULL, w, userdata );
}


FL_CHART_ENTRY* Dao_FL_CHART_ENTRY_New()
{
	FL_CHART_ENTRY *self = new FL_CHART_ENTRY();
	return self;
}


DaoCxx_Fl_Widget* DAO_DLL_FLTK DaoCxx_Fl_Widget_New( int x, int y, int w, int h, const char* label )
{
	DaoCxx_Fl_Widget *self = new DaoCxx_Fl_Widget( x, y, w, h, label );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Widget::DaoInitWrapper( Fl_Widget *s, DaoCData *d )
{
	self = s;
	cdata = d;

}
DaoCxx_Fl_Widget::~DaoCxx_Fl_Widget()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Widget::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Widget_Typer, this );
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Widget::as_gl_window( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  Fl_Gl_Window* _as_gl_window = NULL;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _as_gl_window;
  return (Fl_Gl_Window*)Function_1004c( & _cs, _ro, & _obj );
}
Fl_Group* DaoCxxVirt_Fl_Widget::as_group( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  Fl_Group* _as_group = NULL;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _as_group;
  return (Fl_Group*)Function_1004a( & _cs, _ro, & _obj );
}
Fl_Window* DaoCxxVirt_Fl_Widget::as_window( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  Fl_Window* _as_window = NULL;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _as_window;
  return (Fl_Window*)Function_1004b( & _cs, _ro, & _obj );
}
void DaoCxxVirt_Fl_Widget::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10041( & _cs, _ro, & _obj, o, arg );
}
void DaoCxxVirt_Fl_Widget::draw( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
int DaoCxxVirt_Fl_Widget::handle( int &_cs, int event )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  int _handle= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _handle;
  return (int)Function_1001b( & _cs, _ro, & _obj, event );
}
void DaoCxxVirt_Fl_Widget::hide( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Widget::resize( int &_cs, int x, int y, int w, int h )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10021( & _cs, _ro, & _obj, x, y, w, h );
}
void DaoCxxVirt_Fl_Widget::show( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
Fl_Gl_Window* DaoCxx_Fl_Widget::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_Widget::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Widget::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_Widget::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Widget::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_Widget::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
void DaoCxx_Fl_Widget::draw(  )
{
  int _cs = 0;
  return DaoCxxVirt_Fl_Widget::draw( _cs  );
}
int DaoCxx_Fl_Widget::handle( int event )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, event );
	if( _cs ) return _handle;
  }
  return Fl_Widget::handle( event );
}
void DaoCxx_Fl_Widget::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Widget::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_Widget::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Fl_Widget::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Widget::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}


DaoCxx_Fl_Group* DAO_DLL_FLTK DaoCxx_Fl_Group_New( int _cp0, int _cp1, int _cp2, int _cp3, const char* _cp4 )
{
	DaoCxx_Fl_Group *self = new DaoCxx_Fl_Group( _cp0, _cp1, _cp2, _cp3, _cp4 );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Group::DaoInitWrapper( Fl_Group *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Group::~DaoCxx_Fl_Group()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Group::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Group_Typer, this );
	DaoCxxVirt_Fl_Group::DaoInitWrapper( this, cdata );
}
Fl_Group* DaoCxxVirt_Fl_Group::as_group( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  Fl_Group* _as_group = NULL;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _as_group;
  return (Fl_Group*)Function_1004a( & _cs, _ro, & _obj );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Group::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_Group::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_Group::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
void DaoCxxVirt_Fl_Group::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_Group::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_Group::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Group::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_Group::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Group::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}
Fl_Window* DaoCxx_Fl_Group::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Group::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_Group::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Group::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
void DaoCxx_Fl_Group::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Group::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_Group::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Group::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}
void DaoCxx_Fl_Group::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Group::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Group::draw(  );
}
int DaoCxx_Fl_Group::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Group::handle( _cp0 );
}
void DaoCxx_Fl_Group::resize( int _cp0, int _cp1, int _cp2, int _cp3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Widget::resize( _cs, _cp0, _cp1, _cp2, _cp3 );
	if( _cs ) return;
  }
  Fl_Group::resize( _cp0, _cp1, _cp2, _cp3 );
}


DaoCxx_Fl_Window* DAO_DLL_FLTK DaoCxx_Fl_Window_New( int w, int h, const char* title )
{
	DaoCxx_Fl_Window *self = new DaoCxx_Fl_Window( w, h, title );
	self->DaoInitWrapper();
	return self;
}
DaoCxx_Fl_Window* DAO_DLL_FLTK DaoCxx_Fl_Window_New( int x, int y, int w, int h, const char* title )
{
	DaoCxx_Fl_Window *self = new DaoCxx_Fl_Window( x, y, w, h, title );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Window::DaoInitWrapper( Fl_Window *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Group::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Window::~DaoCxx_Fl_Window()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Window::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Window_Typer, this );
	DaoCxxVirt_Fl_Window::DaoInitWrapper( this, cdata );
}
Fl_Window* DaoCxxVirt_Fl_Window::as_window( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  Fl_Window* _as_window = NULL;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _as_window;
  return (Fl_Window*)Function_1004b( & _cs, _ro, & _obj );
}
void DaoCxxVirt_Fl_Window::draw( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Window::flush( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "flush" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
int DaoCxxVirt_Fl_Window::handle( int &_cs, int _cp0 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  int _handle= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _handle;
  return (int)Function_1001b( & _cs, _ro, & _obj, _cp0 );
}
void DaoCxxVirt_Fl_Window::hide( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Window::resize( int &_cs, int _cp0, int _cp1, int _cp2, int _cp3 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10021( & _cs, _ro, & _obj, _cp0, _cp1, _cp2, _cp3 );
}
void DaoCxxVirt_Fl_Window::show( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
Fl_Group* DaoCxxVirt_Fl_Window::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Group::as_group( _cs  );
}
Fl_Group* DaoCxx_Fl_Window::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Window::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}
Fl_Window* DaoCxx_Fl_Window::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Window::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Window::as_window(  );
}
void DaoCxx_Fl_Window::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Window::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Window::draw(  );
}
void DaoCxx_Fl_Window::flush(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "flush" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Window::flush( _cs  );
	if( _cs ) return;
  }
  Fl_Window::flush(  );
}
int DaoCxx_Fl_Window::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Window::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Window::handle( _cp0 );
}
void DaoCxx_Fl_Window::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Window::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Window::hide(  );
}
void DaoCxx_Fl_Window::resize( int _cp0, int _cp1, int _cp2, int _cp3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Window::resize( _cs, _cp0, _cp1, _cp2, _cp3 );
	if( _cs ) return;
  }
  Fl_Window::resize( _cp0, _cp1, _cp2, _cp3 );
}
void DaoCxx_Fl_Window::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Window::show( _cs  );
	if( _cs ) return;
  }
  Fl_Window::show(  );
}



DaoCxx_Fl_Device* DAO_DLL_FLTK DaoCxx_Fl_Device_New(  )
{
	DaoCxx_Fl_Device *self = new DaoCxx_Fl_Device(  );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Device::DaoInitWrapper( Fl_Device *s, DaoCData *d )
{
	self = s;
	cdata = d;

}
DaoCxx_Fl_Device::~DaoCxx_Fl_Device()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Device::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Device_Typer, this );
	DaoCxxVirt_Fl_Device::DaoInitWrapper( this, cdata );
}
Fl_Device* DAO_DLL_FLTK Dao_Fl_Device_Copy( const Fl_Device &p )
{
	Fl_Device *object = new Fl_Device( p );
	return object;
}
void DaoCxxVirt_Fl_Device::arc( int &_cs, double x, double y, double r, double start, double a )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "arc" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100a5( & _cs, _ro, & _obj, x, y, r, start, a );
}
void DaoCxxVirt_Fl_Device::arc( int &_cs, int x, int y, int w, int h, double a1, double a2 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "arc" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100a6( & _cs, _ro, & _obj, x, y, w, h, a1, a2 );
}
void DaoCxxVirt_Fl_Device::begin_complex_polygon( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_complex_polygon" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Device::begin_line( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_line" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Device::begin_loop( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_loop" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Device::begin_points( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_points" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Device::begin_polygon( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_polygon" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Device::circle( int &_cs, double x, double y, double r )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "circle" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100a4( & _cs, _ro, & _obj, x, y, r );
}
int DaoCxxVirt_Fl_Device::clip_box( int &_cs, int x, int y, int w, int h, int& X, int& Y, int& W, int& H )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "clip_box" );
  int _clip_box= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _clip_box;
  return (int)Function_100a7( & _cs, _ro, & _obj, x, y, w, h, X, Y, W, H );
}
void DaoCxxVirt_Fl_Device::color( int &_cs, Fl_Color c )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10029( & _cs, _ro, & _obj, c );
}
void DaoCxxVirt_Fl_Device::color( int &_cs, uchar r, uchar g, uchar b )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1006e( & _cs, _ro, & _obj, r, g, b );
}
void DaoCxxVirt_Fl_Device::curve( int &_cs, double x, double y, double x1, double y1, double x2, double y2, double x3, double y3 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "curve" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100a3( & _cs, _ro, & _obj, x, y, x1, y1, x2, y2, x3, y3 );
}
void DaoCxxVirt_Fl_Device::draw( int &_cs, Fl_Bitmap* bmp, int XP, int YP, int WP, int HP, int cx, int cy )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100ab( & _cs, _ro, & _obj, bmp, XP, YP, WP, HP, cx, cy );
}
void DaoCxxVirt_Fl_Device::draw( int &_cs, Fl_Pixmap* pxm, int XP, int YP, int WP, int HP, int cx, int cy )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100a9( & _cs, _ro, & _obj, pxm, XP, YP, WP, HP, cx, cy );
}
void DaoCxxVirt_Fl_Device::draw( int &_cs, Fl_RGB_Image* rgb, int XP, int YP, int WP, int HP, int cx, int cy )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100aa( & _cs, _ro, & _obj, rgb, XP, YP, WP, HP, cx, cy );
}
void DaoCxxVirt_Fl_Device::draw( int &_cs, const char* str, int n, int x, int y )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1009e( & _cs, _ro, & _obj, str, n, x, y );
}
void DaoCxxVirt_Fl_Device::draw( int &_cs, int angle, const char* str, int n, int x, int y )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1009f( & _cs, _ro, & _obj, angle, str, n, x, y );
}
void DaoCxxVirt_Fl_Device::draw_image( int &_cs, const uchar* _cp0, int _cp1, int _cp2, int _cp3, int _cp4, int delta, int ldelta )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw_image" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100a8( & _cs, _ro, & _obj, _cp0, _cp1, _cp2, _cp3, _cp4, delta, ldelta );
}
void DaoCxxVirt_Fl_Device::draw_image_mono( int &_cs, const uchar* _cp0, int _cp1, int _cp2, int _cp3, int _cp4, int delta, int ld )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw_image_mono" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100a8( & _cs, _ro, & _obj, _cp0, _cp1, _cp2, _cp3, _cp4, delta, ld );
}
void DaoCxxVirt_Fl_Device::end_complex_polygon( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_complex_polygon" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Device::end_line( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_line" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Device::end_loop( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_loop" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Device::end_points( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_points" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Device::end_polygon( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_polygon" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Device::font( int &_cs, Fl_Font face, Fl_Fontsize size )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "font" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100a0( & _cs, _ro, & _obj, face, size );
}
void DaoCxxVirt_Fl_Device::gap( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "gap" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Device::line( int &_cs, int x, int y, int x1, int y1 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10021( & _cs, _ro, & _obj, x, y, x1, y1 );
}
void DaoCxxVirt_Fl_Device::line( int &_cs, int x, int y, int x1, int y1, int x2, int y2 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1009d( & _cs, _ro, & _obj, x, y, x1, y1, x2, y2 );
}
void DaoCxxVirt_Fl_Device::line_style( int &_cs, int style, int width, char* dashes )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line_style" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1009b( & _cs, _ro, & _obj, style, width, dashes );
}
void DaoCxxVirt_Fl_Device::loop( int &_cs, int x0, int y0, int x1, int y1, int x2, int y2 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "loop" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1009d( & _cs, _ro, & _obj, x0, y0, x1, y1, x2, y2 );
}
void DaoCxxVirt_Fl_Device::loop( int &_cs, int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "loop" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100a1( & _cs, _ro, & _obj, x0, y0, x1, y1, x2, y2, x3, y3 );
}
int DaoCxxVirt_Fl_Device::not_clipped( int &_cs, int x, int y, int w, int h )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "not_clipped" );
  int _not_clipped= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _not_clipped;
  return (int)Function_10022( & _cs, _ro, & _obj, x, y, w, h );
}
void DaoCxxVirt_Fl_Device::pie( int &_cs, int x, int y, int w, int h, double a1, double a2 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "pie" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100a6( & _cs, _ro, & _obj, x, y, w, h, a1, a2 );
}
void DaoCxxVirt_Fl_Device::point( int &_cs, int x, int y )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "point" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10023( & _cs, _ro, & _obj, x, y );
}
void DaoCxxVirt_Fl_Device::polygon( int &_cs, int x0, int y0, int x1, int y1, int x2, int y2 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "polygon" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1009d( & _cs, _ro, & _obj, x0, y0, x1, y1, x2, y2 );
}
void DaoCxxVirt_Fl_Device::polygon( int &_cs, int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "polygon" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100a1( & _cs, _ro, & _obj, x0, y0, x1, y1, x2, y2, x3, y3 );
}
void DaoCxxVirt_Fl_Device::pop_clip( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "pop_clip" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Device::push_clip( int &_cs, int x, int y, int w, int h )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "push_clip" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10021( & _cs, _ro, & _obj, x, y, w, h );
}
void DaoCxxVirt_Fl_Device::push_no_clip( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "push_no_clip" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Device::rect( int &_cs, int x, int y, int w, int h )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rect" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10021( & _cs, _ro, & _obj, x, y, w, h );
}
void DaoCxxVirt_Fl_Device::rectf( int &_cs, int x, int y, int w, int h )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rectf" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10021( & _cs, _ro, & _obj, x, y, w, h );
}
Fl_Device* DaoCxxVirt_Fl_Device::set_current( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "set_current" );
  Fl_Device* _set_current = NULL;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _set_current;
  return (Fl_Device*)Function_100ac( & _cs, _ro, & _obj );
}
void DaoCxxVirt_Fl_Device::transformed_vertex( int &_cs, double x, double y )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "transformed_vertex" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100a2( & _cs, _ro, & _obj, x, y );
}
void DaoCxxVirt_Fl_Device::vertex( int &_cs, double x, double y )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "vertex" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100a2( & _cs, _ro, & _obj, x, y );
}
void DaoCxxVirt_Fl_Device::xyline( int &_cs, int x, int y, int x1 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1005e( & _cs, _ro, & _obj, x, y, x1 );
}
void DaoCxxVirt_Fl_Device::xyline( int &_cs, int x, int y, int x1, int y2 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10021( & _cs, _ro, & _obj, x, y, x1, y2 );
}
void DaoCxxVirt_Fl_Device::xyline( int &_cs, int x, int y, int x1, int y2, int x3 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1009c( & _cs, _ro, & _obj, x, y, x1, y2, x3 );
}
void DaoCxxVirt_Fl_Device::yxline( int &_cs, int x, int y, int y1 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1005e( & _cs, _ro, & _obj, x, y, y1 );
}
void DaoCxxVirt_Fl_Device::yxline( int &_cs, int x, int y, int y1, int x2 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10021( & _cs, _ro, & _obj, x, y, y1, x2 );
}
void DaoCxxVirt_Fl_Device::yxline( int &_cs, int x, int y, int y1, int x2, int y3 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1009c( & _cs, _ro, & _obj, x, y, y1, x2, y3 );
}
void DaoCxx_Fl_Device::arc( double x, double y, double r, double start, double a )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "arc" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::arc( _cs, x, y, r, start, a );
	if( _cs ) return;
  }
  Fl_Device::arc( x, y, r, start, a );
}
void DaoCxx_Fl_Device::arc( int x, int y, int w, int h, double a1, double a2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "arc" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::arc( _cs, x, y, w, h, a1, a2 );
	if( _cs ) return;
  }
  Fl_Device::arc( x, y, w, h, a1, a2 );
}
void DaoCxx_Fl_Device::begin_complex_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_complex_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::begin_complex_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_complex_polygon(  );
}
void DaoCxx_Fl_Device::begin_line(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::begin_line( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_line(  );
}
void DaoCxx_Fl_Device::begin_loop(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::begin_loop( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_loop(  );
}
void DaoCxx_Fl_Device::begin_points(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_points" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::begin_points( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_points(  );
}
void DaoCxx_Fl_Device::begin_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::begin_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_polygon(  );
}
void DaoCxx_Fl_Device::circle( double x, double y, double r )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "circle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::circle( _cs, x, y, r );
	if( _cs ) return;
  }
  Fl_Device::circle( x, y, r );
}
int DaoCxx_Fl_Device::clip_box( int x, int y, int w, int h, int& X, int& Y, int& W, int& H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "clip_box" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _clip_box = DaoCxxVirt_Fl_Device::clip_box( _cs, x, y, w, h, X, Y, W, H );
	if( _cs ) return _clip_box;
  }
  return Fl_Device::clip_box( x, y, w, h, X, Y, W, H );
}
void DaoCxx_Fl_Device::color( Fl_Color c )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::color( _cs, c );
	if( _cs ) return;
  }
  Fl_Device::color( c );
}
void DaoCxx_Fl_Device::color( uchar r, uchar g, uchar b )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::color( _cs, r, g, b );
	if( _cs ) return;
  }
  Fl_Device::color( r, g, b );
}
void DaoCxx_Fl_Device::curve( double x, double y, double x1, double y1, double x2, double y2, double x3, double y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "curve" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::curve( _cs, x, y, x1, y1, x2, y2, x3, y3 );
	if( _cs ) return;
  }
  Fl_Device::curve( x, y, x1, y1, x2, y2, x3, y3 );
}
void DaoCxx_Fl_Device::draw( Fl_Bitmap* bmp, int XP, int YP, int WP, int HP, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::draw( _cs, bmp, XP, YP, WP, HP, cx, cy );
	if( _cs ) return;
  }
  Fl_Device::draw( bmp, XP, YP, WP, HP, cx, cy );
}
void DaoCxx_Fl_Device::draw( Fl_Pixmap* pxm, int XP, int YP, int WP, int HP, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::draw( _cs, pxm, XP, YP, WP, HP, cx, cy );
	if( _cs ) return;
  }
  Fl_Device::draw( pxm, XP, YP, WP, HP, cx, cy );
}
void DaoCxx_Fl_Device::draw( Fl_RGB_Image* rgb, int XP, int YP, int WP, int HP, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::draw( _cs, rgb, XP, YP, WP, HP, cx, cy );
	if( _cs ) return;
  }
  Fl_Device::draw( rgb, XP, YP, WP, HP, cx, cy );
}
void DaoCxx_Fl_Device::draw( const char* str, int n, int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::draw( _cs, str, n, x, y );
	if( _cs ) return;
  }
  Fl_Device::draw( str, n, x, y );
}
void DaoCxx_Fl_Device::draw( int angle, const char* str, int n, int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::draw( _cs, angle, str, n, x, y );
	if( _cs ) return;
  }
  Fl_Device::draw( angle, str, n, x, y );
}
void DaoCxx_Fl_Device::draw_image( const uchar* _cp0, int _cp1, int _cp2, int _cp3, int _cp4, int delta, int ldelta )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw_image" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::draw_image( _cs, _cp0, _cp1, _cp2, _cp3, _cp4, delta, ldelta );
	if( _cs ) return;
  }
  Fl_Device::draw_image( _cp0, _cp1, _cp2, _cp3, _cp4, delta, ldelta );
}
void DaoCxx_Fl_Device::draw_image_mono( const uchar* _cp0, int _cp1, int _cp2, int _cp3, int _cp4, int delta, int ld )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw_image_mono" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::draw_image_mono( _cs, _cp0, _cp1, _cp2, _cp3, _cp4, delta, ld );
	if( _cs ) return;
  }
  Fl_Device::draw_image_mono( _cp0, _cp1, _cp2, _cp3, _cp4, delta, ld );
}
void DaoCxx_Fl_Device::end_complex_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_complex_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::end_complex_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_complex_polygon(  );
}
void DaoCxx_Fl_Device::end_line(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::end_line( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_line(  );
}
void DaoCxx_Fl_Device::end_loop(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::end_loop( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_loop(  );
}
void DaoCxx_Fl_Device::end_points(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_points" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::end_points( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_points(  );
}
void DaoCxx_Fl_Device::end_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::end_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_polygon(  );
}
void DaoCxx_Fl_Device::font( Fl_Font face, Fl_Fontsize size )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "font" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::font( _cs, face, size );
	if( _cs ) return;
  }
  Fl_Device::font( face, size );
}
void DaoCxx_Fl_Device::gap(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "gap" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::gap( _cs  );
	if( _cs ) return;
  }
  Fl_Device::gap(  );
}
void DaoCxx_Fl_Device::line( int x, int y, int x1, int y1 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::line( _cs, x, y, x1, y1 );
	if( _cs ) return;
  }
  Fl_Device::line( x, y, x1, y1 );
}
void DaoCxx_Fl_Device::line( int x, int y, int x1, int y1, int x2, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::line( _cs, x, y, x1, y1, x2, y2 );
	if( _cs ) return;
  }
  Fl_Device::line( x, y, x1, y1, x2, y2 );
}
void DaoCxx_Fl_Device::line_style( int style, int width, char* dashes )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line_style" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::line_style( _cs, style, width, dashes );
	if( _cs ) return;
  }
  Fl_Device::line_style( style, width, dashes );
}
void DaoCxx_Fl_Device::loop( int x0, int y0, int x1, int y1, int x2, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::loop( _cs, x0, y0, x1, y1, x2, y2 );
	if( _cs ) return;
  }
  Fl_Device::loop( x0, y0, x1, y1, x2, y2 );
}
void DaoCxx_Fl_Device::loop( int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::loop( _cs, x0, y0, x1, y1, x2, y2, x3, y3 );
	if( _cs ) return;
  }
  Fl_Device::loop( x0, y0, x1, y1, x2, y2, x3, y3 );
}
int DaoCxx_Fl_Device::not_clipped( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "not_clipped" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _not_clipped = DaoCxxVirt_Fl_Device::not_clipped( _cs, x, y, w, h );
	if( _cs ) return _not_clipped;
  }
  return Fl_Device::not_clipped( x, y, w, h );
}
void DaoCxx_Fl_Device::pie( int x, int y, int w, int h, double a1, double a2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "pie" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::pie( _cs, x, y, w, h, a1, a2 );
	if( _cs ) return;
  }
  Fl_Device::pie( x, y, w, h, a1, a2 );
}
void DaoCxx_Fl_Device::point( int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "point" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::point( _cs, x, y );
	if( _cs ) return;
  }
  Fl_Device::point( x, y );
}
void DaoCxx_Fl_Device::polygon( int x0, int y0, int x1, int y1, int x2, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::polygon( _cs, x0, y0, x1, y1, x2, y2 );
	if( _cs ) return;
  }
  Fl_Device::polygon( x0, y0, x1, y1, x2, y2 );
}
void DaoCxx_Fl_Device::polygon( int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::polygon( _cs, x0, y0, x1, y1, x2, y2, x3, y3 );
	if( _cs ) return;
  }
  Fl_Device::polygon( x0, y0, x1, y1, x2, y2, x3, y3 );
}
void DaoCxx_Fl_Device::pop_clip(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "pop_clip" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::pop_clip( _cs  );
	if( _cs ) return;
  }
  Fl_Device::pop_clip(  );
}
void DaoCxx_Fl_Device::push_clip( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "push_clip" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::push_clip( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Device::push_clip( x, y, w, h );
}
void DaoCxx_Fl_Device::push_no_clip(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "push_no_clip" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::push_no_clip( _cs  );
	if( _cs ) return;
  }
  Fl_Device::push_no_clip(  );
}
void DaoCxx_Fl_Device::rect( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rect" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::rect( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Device::rect( x, y, w, h );
}
void DaoCxx_Fl_Device::rectf( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rectf" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::rectf( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Device::rectf( x, y, w, h );
}
Fl_Device* DaoCxx_Fl_Device::set_current(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "set_current" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Device* _set_current = DaoCxxVirt_Fl_Device::set_current( _cs  );
	if( _cs ) return _set_current;
  }
  return Fl_Device::set_current(  );
}
void DaoCxx_Fl_Device::transformed_vertex( double x, double y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "transformed_vertex" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::transformed_vertex( _cs, x, y );
	if( _cs ) return;
  }
  Fl_Device::transformed_vertex( x, y );
}
void DaoCxx_Fl_Device::vertex( double x, double y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "vertex" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::vertex( _cs, x, y );
	if( _cs ) return;
  }
  Fl_Device::vertex( x, y );
}
void DaoCxx_Fl_Device::xyline( int x, int y, int x1 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::xyline( _cs, x, y, x1 );
	if( _cs ) return;
  }
  Fl_Device::xyline( x, y, x1 );
}
void DaoCxx_Fl_Device::xyline( int x, int y, int x1, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::xyline( _cs, x, y, x1, y2 );
	if( _cs ) return;
  }
  Fl_Device::xyline( x, y, x1, y2 );
}
void DaoCxx_Fl_Device::xyline( int x, int y, int x1, int y2, int x3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::xyline( _cs, x, y, x1, y2, x3 );
	if( _cs ) return;
  }
  Fl_Device::xyline( x, y, x1, y2, x3 );
}
void DaoCxx_Fl_Device::yxline( int x, int y, int y1 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::yxline( _cs, x, y, y1 );
	if( _cs ) return;
  }
  Fl_Device::yxline( x, y, y1 );
}
void DaoCxx_Fl_Device::yxline( int x, int y, int y1, int x2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::yxline( _cs, x, y, y1, x2 );
	if( _cs ) return;
  }
  Fl_Device::yxline( x, y, y1, x2 );
}
void DaoCxx_Fl_Device::yxline( int x, int y, int y1, int x2, int y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::yxline( _cs, x, y, y1, x2, y3 );
	if( _cs ) return;
  }
  Fl_Device::yxline( x, y, y1, x2, y3 );
}


DaoCxx_Fl_Abstract_Printer* DAO_DLL_FLTK DaoCxx_Fl_Abstract_Printer_New(  )
{
	DaoCxx_Fl_Abstract_Printer *self = new DaoCxx_Fl_Abstract_Printer(  );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Abstract_Printer::DaoInitWrapper( Fl_Abstract_Printer *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Device::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Abstract_Printer::~DaoCxx_Fl_Abstract_Printer()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Abstract_Printer::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Abstract_Printer_Typer, this );
	DaoCxxVirt_Fl_Abstract_Printer::DaoInitWrapper( this, cdata );
}
Fl_Abstract_Printer* DAO_DLL_FLTK Dao_Fl_Abstract_Printer_Copy( const Fl_Abstract_Printer &p )
{
	Fl_Abstract_Printer *object = new Fl_Abstract_Printer( p );
	return object;
}
void DaoCxxVirt_Fl_Abstract_Printer::end_job( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_job" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
int DaoCxxVirt_Fl_Abstract_Printer::end_page( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_page" );
  int _end_page= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _end_page;
  return (int)Function_1003f( & _cs, _ro, & _obj );
}
void DaoCxxVirt_Fl_Abstract_Printer::margins( int &_cs, int* left, int* top, int* right, int* bottom )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "margins" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100b0( & _cs, _ro, & _obj, left, top, right, bottom );
}
void DaoCxxVirt_Fl_Abstract_Printer::origin( int &_cs, int x, int y )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "origin" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10023( & _cs, _ro, & _obj, x, y );
}
int DaoCxxVirt_Fl_Abstract_Printer::printable_rect( int &_cs, int* w, int* h )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "printable_rect" );
  int _printable_rect= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _printable_rect;
  return (int)Function_100af( & _cs, _ro, & _obj, w, h );
}
void DaoCxxVirt_Fl_Abstract_Printer::rotate( int &_cs, float angle )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rotate" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100b3( & _cs, _ro, & _obj, angle );
}
void DaoCxxVirt_Fl_Abstract_Printer::scale( int &_cs, float scale_x, float scale_y )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "scale" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100b2( & _cs, _ro, & _obj, scale_x, scale_y );
}
int DaoCxxVirt_Fl_Abstract_Printer::start_job( int &_cs, int pagecount, int* frompage, int* topage )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "start_job" );
  int _start_job= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _start_job;
  return (int)Function_100ae( & _cs, _ro, & _obj, pagecount, frompage, topage );
}
int DaoCxxVirt_Fl_Abstract_Printer::start_page( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "start_page" );
  int _start_page= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _start_page;
  return (int)Function_1003f( & _cs, _ro, & _obj );
}
void DaoCxxVirt_Fl_Abstract_Printer::translate( int &_cs, int x, int y )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "translate" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10023( & _cs, _ro, & _obj, x, y );
}
void DaoCxxVirt_Fl_Abstract_Printer::untranslate( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "untranslate" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Abstract_Printer::arc( int &_cs, double x, double y, double r, double start, double a )
{
   DaoCxxVirt_Fl_Device::arc( _cs, x, y, r, start, a );
}
void DaoCxxVirt_Fl_Abstract_Printer::arc( int &_cs, int x, int y, int w, int h, double a1, double a2 )
{
   DaoCxxVirt_Fl_Device::arc( _cs, x, y, w, h, a1, a2 );
}
void DaoCxxVirt_Fl_Abstract_Printer::begin_complex_polygon( int &_cs  )
{
   DaoCxxVirt_Fl_Device::begin_complex_polygon( _cs  );
}
void DaoCxxVirt_Fl_Abstract_Printer::begin_line( int &_cs  )
{
   DaoCxxVirt_Fl_Device::begin_line( _cs  );
}
void DaoCxxVirt_Fl_Abstract_Printer::begin_loop( int &_cs  )
{
   DaoCxxVirt_Fl_Device::begin_loop( _cs  );
}
void DaoCxxVirt_Fl_Abstract_Printer::begin_points( int &_cs  )
{
   DaoCxxVirt_Fl_Device::begin_points( _cs  );
}
void DaoCxxVirt_Fl_Abstract_Printer::begin_polygon( int &_cs  )
{
   DaoCxxVirt_Fl_Device::begin_polygon( _cs  );
}
void DaoCxxVirt_Fl_Abstract_Printer::circle( int &_cs, double x, double y, double r )
{
   DaoCxxVirt_Fl_Device::circle( _cs, x, y, r );
}
int DaoCxxVirt_Fl_Abstract_Printer::clip_box( int &_cs, int x, int y, int w, int h, int& X, int& Y, int& W, int& H )
{
  return DaoCxxVirt_Fl_Device::clip_box( _cs, x, y, w, h, X, Y, W, H );
}
void DaoCxxVirt_Fl_Abstract_Printer::color( int &_cs, Fl_Color c )
{
   DaoCxxVirt_Fl_Device::color( _cs, c );
}
void DaoCxxVirt_Fl_Abstract_Printer::color( int &_cs, uchar r, uchar g, uchar b )
{
   DaoCxxVirt_Fl_Device::color( _cs, r, g, b );
}
void DaoCxxVirt_Fl_Abstract_Printer::curve( int &_cs, double x, double y, double x1, double y1, double x2, double y2, double x3, double y3 )
{
   DaoCxxVirt_Fl_Device::curve( _cs, x, y, x1, y1, x2, y2, x3, y3 );
}
void DaoCxxVirt_Fl_Abstract_Printer::draw( int &_cs, Fl_Bitmap* bmp, int XP, int YP, int WP, int HP, int cx, int cy )
{
   DaoCxxVirt_Fl_Device::draw( _cs, bmp, XP, YP, WP, HP, cx, cy );
}
void DaoCxxVirt_Fl_Abstract_Printer::draw( int &_cs, Fl_Pixmap* pxm, int XP, int YP, int WP, int HP, int cx, int cy )
{
   DaoCxxVirt_Fl_Device::draw( _cs, pxm, XP, YP, WP, HP, cx, cy );
}
void DaoCxxVirt_Fl_Abstract_Printer::draw( int &_cs, Fl_RGB_Image* rgb, int XP, int YP, int WP, int HP, int cx, int cy )
{
   DaoCxxVirt_Fl_Device::draw( _cs, rgb, XP, YP, WP, HP, cx, cy );
}
void DaoCxxVirt_Fl_Abstract_Printer::draw( int &_cs, const char* str, int n, int x, int y )
{
   DaoCxxVirt_Fl_Device::draw( _cs, str, n, x, y );
}
void DaoCxxVirt_Fl_Abstract_Printer::draw( int &_cs, int angle, const char* str, int n, int x, int y )
{
   DaoCxxVirt_Fl_Device::draw( _cs, angle, str, n, x, y );
}
void DaoCxxVirt_Fl_Abstract_Printer::draw_image( int &_cs, const uchar* _cp0, int _cp1, int _cp2, int _cp3, int _cp4, int delta, int ldelta )
{
   DaoCxxVirt_Fl_Device::draw_image( _cs, _cp0, _cp1, _cp2, _cp3, _cp4, delta, ldelta );
}
void DaoCxxVirt_Fl_Abstract_Printer::draw_image_mono( int &_cs, const uchar* _cp0, int _cp1, int _cp2, int _cp3, int _cp4, int delta, int ld )
{
   DaoCxxVirt_Fl_Device::draw_image_mono( _cs, _cp0, _cp1, _cp2, _cp3, _cp4, delta, ld );
}
void DaoCxxVirt_Fl_Abstract_Printer::end_complex_polygon( int &_cs  )
{
   DaoCxxVirt_Fl_Device::end_complex_polygon( _cs  );
}
void DaoCxxVirt_Fl_Abstract_Printer::end_line( int &_cs  )
{
   DaoCxxVirt_Fl_Device::end_line( _cs  );
}
void DaoCxxVirt_Fl_Abstract_Printer::end_loop( int &_cs  )
{
   DaoCxxVirt_Fl_Device::end_loop( _cs  );
}
void DaoCxxVirt_Fl_Abstract_Printer::end_points( int &_cs  )
{
   DaoCxxVirt_Fl_Device::end_points( _cs  );
}
void DaoCxxVirt_Fl_Abstract_Printer::end_polygon( int &_cs  )
{
   DaoCxxVirt_Fl_Device::end_polygon( _cs  );
}
void DaoCxxVirt_Fl_Abstract_Printer::font( int &_cs, Fl_Font face, Fl_Fontsize size )
{
   DaoCxxVirt_Fl_Device::font( _cs, face, size );
}
void DaoCxxVirt_Fl_Abstract_Printer::gap( int &_cs  )
{
   DaoCxxVirt_Fl_Device::gap( _cs  );
}
void DaoCxxVirt_Fl_Abstract_Printer::line( int &_cs, int x, int y, int x1, int y1 )
{
   DaoCxxVirt_Fl_Device::line( _cs, x, y, x1, y1 );
}
void DaoCxxVirt_Fl_Abstract_Printer::line( int &_cs, int x, int y, int x1, int y1, int x2, int y2 )
{
   DaoCxxVirt_Fl_Device::line( _cs, x, y, x1, y1, x2, y2 );
}
void DaoCxxVirt_Fl_Abstract_Printer::line_style( int &_cs, int style, int width, char* dashes )
{
   DaoCxxVirt_Fl_Device::line_style( _cs, style, width, dashes );
}
void DaoCxxVirt_Fl_Abstract_Printer::loop( int &_cs, int x0, int y0, int x1, int y1, int x2, int y2 )
{
   DaoCxxVirt_Fl_Device::loop( _cs, x0, y0, x1, y1, x2, y2 );
}
void DaoCxxVirt_Fl_Abstract_Printer::loop( int &_cs, int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
   DaoCxxVirt_Fl_Device::loop( _cs, x0, y0, x1, y1, x2, y2, x3, y3 );
}
int DaoCxxVirt_Fl_Abstract_Printer::not_clipped( int &_cs, int x, int y, int w, int h )
{
  return DaoCxxVirt_Fl_Device::not_clipped( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Abstract_Printer::pie( int &_cs, int x, int y, int w, int h, double a1, double a2 )
{
   DaoCxxVirt_Fl_Device::pie( _cs, x, y, w, h, a1, a2 );
}
void DaoCxxVirt_Fl_Abstract_Printer::point( int &_cs, int x, int y )
{
   DaoCxxVirt_Fl_Device::point( _cs, x, y );
}
void DaoCxxVirt_Fl_Abstract_Printer::polygon( int &_cs, int x0, int y0, int x1, int y1, int x2, int y2 )
{
   DaoCxxVirt_Fl_Device::polygon( _cs, x0, y0, x1, y1, x2, y2 );
}
void DaoCxxVirt_Fl_Abstract_Printer::polygon( int &_cs, int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
   DaoCxxVirt_Fl_Device::polygon( _cs, x0, y0, x1, y1, x2, y2, x3, y3 );
}
void DaoCxxVirt_Fl_Abstract_Printer::pop_clip( int &_cs  )
{
   DaoCxxVirt_Fl_Device::pop_clip( _cs  );
}
void DaoCxxVirt_Fl_Abstract_Printer::push_clip( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Device::push_clip( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Abstract_Printer::push_no_clip( int &_cs  )
{
   DaoCxxVirt_Fl_Device::push_no_clip( _cs  );
}
void DaoCxxVirt_Fl_Abstract_Printer::rect( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Device::rect( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Abstract_Printer::rectf( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Device::rectf( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Abstract_Printer::transformed_vertex( int &_cs, double x, double y )
{
   DaoCxxVirt_Fl_Device::transformed_vertex( _cs, x, y );
}
void DaoCxxVirt_Fl_Abstract_Printer::vertex( int &_cs, double x, double y )
{
   DaoCxxVirt_Fl_Device::vertex( _cs, x, y );
}
void DaoCxxVirt_Fl_Abstract_Printer::xyline( int &_cs, int x, int y, int x1 )
{
   DaoCxxVirt_Fl_Device::xyline( _cs, x, y, x1 );
}
void DaoCxxVirt_Fl_Abstract_Printer::xyline( int &_cs, int x, int y, int x1, int y2 )
{
   DaoCxxVirt_Fl_Device::xyline( _cs, x, y, x1, y2 );
}
void DaoCxxVirt_Fl_Abstract_Printer::xyline( int &_cs, int x, int y, int x1, int y2, int x3 )
{
   DaoCxxVirt_Fl_Device::xyline( _cs, x, y, x1, y2, x3 );
}
void DaoCxxVirt_Fl_Abstract_Printer::yxline( int &_cs, int x, int y, int y1 )
{
   DaoCxxVirt_Fl_Device::yxline( _cs, x, y, y1 );
}
void DaoCxxVirt_Fl_Abstract_Printer::yxline( int &_cs, int x, int y, int y1, int x2 )
{
   DaoCxxVirt_Fl_Device::yxline( _cs, x, y, y1, x2 );
}
void DaoCxxVirt_Fl_Abstract_Printer::yxline( int &_cs, int x, int y, int y1, int x2, int y3 )
{
   DaoCxxVirt_Fl_Device::yxline( _cs, x, y, y1, x2, y3 );
}
void DaoCxx_Fl_Abstract_Printer::arc( double x, double y, double r, double start, double a )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "arc" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::arc( _cs, x, y, r, start, a );
	if( _cs ) return;
  }
  Fl_Device::arc( x, y, r, start, a );
}
void DaoCxx_Fl_Abstract_Printer::arc( int x, int y, int w, int h, double a1, double a2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "arc" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::arc( _cs, x, y, w, h, a1, a2 );
	if( _cs ) return;
  }
  Fl_Device::arc( x, y, w, h, a1, a2 );
}
void DaoCxx_Fl_Abstract_Printer::begin_complex_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_complex_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::begin_complex_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_complex_polygon(  );
}
void DaoCxx_Fl_Abstract_Printer::begin_line(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::begin_line( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_line(  );
}
void DaoCxx_Fl_Abstract_Printer::begin_loop(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::begin_loop( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_loop(  );
}
void DaoCxx_Fl_Abstract_Printer::begin_points(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_points" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::begin_points( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_points(  );
}
void DaoCxx_Fl_Abstract_Printer::begin_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::begin_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_polygon(  );
}
void DaoCxx_Fl_Abstract_Printer::circle( double x, double y, double r )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "circle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::circle( _cs, x, y, r );
	if( _cs ) return;
  }
  Fl_Device::circle( x, y, r );
}
int DaoCxx_Fl_Abstract_Printer::clip_box( int x, int y, int w, int h, int& X, int& Y, int& W, int& H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "clip_box" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _clip_box = DaoCxxVirt_Fl_Abstract_Printer::clip_box( _cs, x, y, w, h, X, Y, W, H );
	if( _cs ) return _clip_box;
  }
  return Fl_Device::clip_box( x, y, w, h, X, Y, W, H );
}
void DaoCxx_Fl_Abstract_Printer::color( Fl_Color c )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::color( _cs, c );
	if( _cs ) return;
  }
  Fl_Device::color( c );
}
void DaoCxx_Fl_Abstract_Printer::color( uchar r, uchar g, uchar b )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::color( _cs, r, g, b );
	if( _cs ) return;
  }
  Fl_Device::color( r, g, b );
}
void DaoCxx_Fl_Abstract_Printer::curve( double x, double y, double x1, double y1, double x2, double y2, double x3, double y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "curve" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::curve( _cs, x, y, x1, y1, x2, y2, x3, y3 );
	if( _cs ) return;
  }
  Fl_Device::curve( x, y, x1, y1, x2, y2, x3, y3 );
}
void DaoCxx_Fl_Abstract_Printer::draw( Fl_Bitmap* bmp, int XP, int YP, int WP, int HP, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::draw( _cs, bmp, XP, YP, WP, HP, cx, cy );
	if( _cs ) return;
  }
  Fl_Device::draw( bmp, XP, YP, WP, HP, cx, cy );
}
void DaoCxx_Fl_Abstract_Printer::draw( Fl_Pixmap* pxm, int XP, int YP, int WP, int HP, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::draw( _cs, pxm, XP, YP, WP, HP, cx, cy );
	if( _cs ) return;
  }
  Fl_Device::draw( pxm, XP, YP, WP, HP, cx, cy );
}
void DaoCxx_Fl_Abstract_Printer::draw( Fl_RGB_Image* rgb, int XP, int YP, int WP, int HP, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::draw( _cs, rgb, XP, YP, WP, HP, cx, cy );
	if( _cs ) return;
  }
  Fl_Device::draw( rgb, XP, YP, WP, HP, cx, cy );
}
void DaoCxx_Fl_Abstract_Printer::draw( const char* str, int n, int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::draw( _cs, str, n, x, y );
	if( _cs ) return;
  }
  Fl_Device::draw( str, n, x, y );
}
void DaoCxx_Fl_Abstract_Printer::draw( int angle, const char* str, int n, int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::draw( _cs, angle, str, n, x, y );
	if( _cs ) return;
  }
  Fl_Device::draw( angle, str, n, x, y );
}
void DaoCxx_Fl_Abstract_Printer::draw_image( const uchar* _cp0, int _cp1, int _cp2, int _cp3, int _cp4, int delta, int ldelta )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw_image" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::draw_image( _cs, _cp0, _cp1, _cp2, _cp3, _cp4, delta, ldelta );
	if( _cs ) return;
  }
  Fl_Device::draw_image( _cp0, _cp1, _cp2, _cp3, _cp4, delta, ldelta );
}
void DaoCxx_Fl_Abstract_Printer::draw_image_mono( const uchar* _cp0, int _cp1, int _cp2, int _cp3, int _cp4, int delta, int ld )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw_image_mono" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::draw_image_mono( _cs, _cp0, _cp1, _cp2, _cp3, _cp4, delta, ld );
	if( _cs ) return;
  }
  Fl_Device::draw_image_mono( _cp0, _cp1, _cp2, _cp3, _cp4, delta, ld );
}
void DaoCxx_Fl_Abstract_Printer::end_complex_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_complex_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::end_complex_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_complex_polygon(  );
}
void DaoCxx_Fl_Abstract_Printer::end_job(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_job" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::end_job( _cs  );
	if( _cs ) return;
  }
  Fl_Abstract_Printer::end_job(  );
}
void DaoCxx_Fl_Abstract_Printer::end_line(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::end_line( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_line(  );
}
void DaoCxx_Fl_Abstract_Printer::end_loop(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::end_loop( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_loop(  );
}
int DaoCxx_Fl_Abstract_Printer::end_page(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_page" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _end_page = DaoCxxVirt_Fl_Abstract_Printer::end_page( _cs  );
	if( _cs ) return _end_page;
  }
  return Fl_Abstract_Printer::end_page(  );
}
void DaoCxx_Fl_Abstract_Printer::end_points(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_points" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::end_points( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_points(  );
}
void DaoCxx_Fl_Abstract_Printer::end_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::end_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_polygon(  );
}
void DaoCxx_Fl_Abstract_Printer::font( Fl_Font face, Fl_Fontsize size )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "font" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::font( _cs, face, size );
	if( _cs ) return;
  }
  Fl_Device::font( face, size );
}
void DaoCxx_Fl_Abstract_Printer::gap(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "gap" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::gap( _cs  );
	if( _cs ) return;
  }
  Fl_Device::gap(  );
}
void DaoCxx_Fl_Abstract_Printer::line( int x, int y, int x1, int y1 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::line( _cs, x, y, x1, y1 );
	if( _cs ) return;
  }
  Fl_Device::line( x, y, x1, y1 );
}
void DaoCxx_Fl_Abstract_Printer::line( int x, int y, int x1, int y1, int x2, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::line( _cs, x, y, x1, y1, x2, y2 );
	if( _cs ) return;
  }
  Fl_Device::line( x, y, x1, y1, x2, y2 );
}
void DaoCxx_Fl_Abstract_Printer::line_style( int style, int width, char* dashes )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line_style" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::line_style( _cs, style, width, dashes );
	if( _cs ) return;
  }
  Fl_Device::line_style( style, width, dashes );
}
void DaoCxx_Fl_Abstract_Printer::loop( int x0, int y0, int x1, int y1, int x2, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::loop( _cs, x0, y0, x1, y1, x2, y2 );
	if( _cs ) return;
  }
  Fl_Device::loop( x0, y0, x1, y1, x2, y2 );
}
void DaoCxx_Fl_Abstract_Printer::loop( int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::loop( _cs, x0, y0, x1, y1, x2, y2, x3, y3 );
	if( _cs ) return;
  }
  Fl_Device::loop( x0, y0, x1, y1, x2, y2, x3, y3 );
}
void DaoCxx_Fl_Abstract_Printer::margins( int* left, int* top, int* right, int* bottom )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "margins" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::margins( _cs, left, top, right, bottom );
	if( _cs ) return;
  }
  Fl_Abstract_Printer::margins( left, top, right, bottom );
}
int DaoCxx_Fl_Abstract_Printer::not_clipped( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "not_clipped" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _not_clipped = DaoCxxVirt_Fl_Abstract_Printer::not_clipped( _cs, x, y, w, h );
	if( _cs ) return _not_clipped;
  }
  return Fl_Device::not_clipped( x, y, w, h );
}
void DaoCxx_Fl_Abstract_Printer::origin( int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "origin" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::origin( _cs, x, y );
	if( _cs ) return;
  }
  Fl_Abstract_Printer::origin( x, y );
}
void DaoCxx_Fl_Abstract_Printer::pie( int x, int y, int w, int h, double a1, double a2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "pie" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::pie( _cs, x, y, w, h, a1, a2 );
	if( _cs ) return;
  }
  Fl_Device::pie( x, y, w, h, a1, a2 );
}
void DaoCxx_Fl_Abstract_Printer::point( int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "point" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::point( _cs, x, y );
	if( _cs ) return;
  }
  Fl_Device::point( x, y );
}
void DaoCxx_Fl_Abstract_Printer::polygon( int x0, int y0, int x1, int y1, int x2, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::polygon( _cs, x0, y0, x1, y1, x2, y2 );
	if( _cs ) return;
  }
  Fl_Device::polygon( x0, y0, x1, y1, x2, y2 );
}
void DaoCxx_Fl_Abstract_Printer::polygon( int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::polygon( _cs, x0, y0, x1, y1, x2, y2, x3, y3 );
	if( _cs ) return;
  }
  Fl_Device::polygon( x0, y0, x1, y1, x2, y2, x3, y3 );
}
void DaoCxx_Fl_Abstract_Printer::pop_clip(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "pop_clip" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::pop_clip( _cs  );
	if( _cs ) return;
  }
  Fl_Device::pop_clip(  );
}
int DaoCxx_Fl_Abstract_Printer::printable_rect( int* w, int* h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "printable_rect" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _printable_rect = DaoCxxVirt_Fl_Abstract_Printer::printable_rect( _cs, w, h );
	if( _cs ) return _printable_rect;
  }
  return Fl_Abstract_Printer::printable_rect( w, h );
}
void DaoCxx_Fl_Abstract_Printer::push_clip( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "push_clip" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::push_clip( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Device::push_clip( x, y, w, h );
}
void DaoCxx_Fl_Abstract_Printer::push_no_clip(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "push_no_clip" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::push_no_clip( _cs  );
	if( _cs ) return;
  }
  Fl_Device::push_no_clip(  );
}
void DaoCxx_Fl_Abstract_Printer::rect( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rect" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::rect( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Device::rect( x, y, w, h );
}
void DaoCxx_Fl_Abstract_Printer::rectf( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rectf" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::rectf( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Device::rectf( x, y, w, h );
}
void DaoCxx_Fl_Abstract_Printer::rotate( float angle )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rotate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::rotate( _cs, angle );
	if( _cs ) return;
  }
  Fl_Abstract_Printer::rotate( angle );
}
void DaoCxx_Fl_Abstract_Printer::scale( float scale_x, float scale_y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "scale" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::scale( _cs, scale_x, scale_y );
	if( _cs ) return;
  }
  Fl_Abstract_Printer::scale( scale_x, scale_y );
}
int DaoCxx_Fl_Abstract_Printer::start_job( int pagecount, int* frompage, int* topage )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "start_job" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _start_job = DaoCxxVirt_Fl_Abstract_Printer::start_job( _cs, pagecount, frompage, topage );
	if( _cs ) return _start_job;
  }
  return Fl_Abstract_Printer::start_job( pagecount, frompage, topage );
}
int DaoCxx_Fl_Abstract_Printer::start_page(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "start_page" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _start_page = DaoCxxVirt_Fl_Abstract_Printer::start_page( _cs  );
	if( _cs ) return _start_page;
  }
  return Fl_Abstract_Printer::start_page(  );
}
void DaoCxx_Fl_Abstract_Printer::transformed_vertex( double x, double y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "transformed_vertex" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::transformed_vertex( _cs, x, y );
	if( _cs ) return;
  }
  Fl_Device::transformed_vertex( x, y );
}
void DaoCxx_Fl_Abstract_Printer::translate( int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "translate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::translate( _cs, x, y );
	if( _cs ) return;
  }
  Fl_Abstract_Printer::translate( x, y );
}
void DaoCxx_Fl_Abstract_Printer::untranslate(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "untranslate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::untranslate( _cs  );
	if( _cs ) return;
  }
  Fl_Abstract_Printer::untranslate(  );
}
void DaoCxx_Fl_Abstract_Printer::vertex( double x, double y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "vertex" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::vertex( _cs, x, y );
	if( _cs ) return;
  }
  Fl_Device::vertex( x, y );
}
void DaoCxx_Fl_Abstract_Printer::xyline( int x, int y, int x1 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::xyline( _cs, x, y, x1 );
	if( _cs ) return;
  }
  Fl_Device::xyline( x, y, x1 );
}
void DaoCxx_Fl_Abstract_Printer::xyline( int x, int y, int x1, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::xyline( _cs, x, y, x1, y2 );
	if( _cs ) return;
  }
  Fl_Device::xyline( x, y, x1, y2 );
}
void DaoCxx_Fl_Abstract_Printer::xyline( int x, int y, int x1, int y2, int x3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::xyline( _cs, x, y, x1, y2, x3 );
	if( _cs ) return;
  }
  Fl_Device::xyline( x, y, x1, y2, x3 );
}
void DaoCxx_Fl_Abstract_Printer::yxline( int x, int y, int y1 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::yxline( _cs, x, y, y1 );
	if( _cs ) return;
  }
  Fl_Device::yxline( x, y, y1 );
}
void DaoCxx_Fl_Abstract_Printer::yxline( int x, int y, int y1, int x2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::yxline( _cs, x, y, y1, x2 );
	if( _cs ) return;
  }
  Fl_Device::yxline( x, y, y1, x2 );
}
void DaoCxx_Fl_Abstract_Printer::yxline( int x, int y, int y1, int x2, int y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::yxline( _cs, x, y, y1, x2, y3 );
	if( _cs ) return;
  }
  Fl_Device::yxline( x, y, y1, x2, y3 );
}
Fl_Device* DaoCxx_Fl_Abstract_Printer::set_current(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "set_current" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Device* _set_current = DaoCxxVirt_Fl_Abstract_Printer::set_current( _cs  );
	if( _cs ) return _set_current;
  }
  return Fl_Abstract_Printer::set_current(  );
}



DaoCxx_Fl_Valuator* DAO_DLL_FLTK DaoCxx_Fl_Valuator_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Valuator *self = new DaoCxx_Fl_Valuator( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Valuator::DaoInitWrapper( Fl_Valuator *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Valuator::~DaoCxx_Fl_Valuator()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Valuator::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Valuator_Typer, this );
	DaoCxxVirt_Fl_Valuator::DaoInitWrapper( this, cdata );
}
int DaoCxxVirt_Fl_Valuator::format( int &_cs, char* _cp0 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "format" );
  int _format= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _format;
  return (int)Function_100bc( & _cs, _ro, & _obj, _cp0 );
}
void DaoCxxVirt_Fl_Valuator::value_damage( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "value_damage" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Valuator::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Fl_Valuator::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_Valuator::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_Valuator::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
void DaoCxxVirt_Fl_Valuator::draw( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::draw( _cs  );
}
int DaoCxxVirt_Fl_Valuator::handle( int &_cs, int event )
{
  return DaoCxxVirt_Fl_Widget::handle( _cs, event );
}
void DaoCxxVirt_Fl_Valuator::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_Valuator::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Valuator::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_Valuator::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Valuator::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_Valuator::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Valuator::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_Valuator::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Valuator::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_Valuator::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Valuator::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
void DaoCxx_Fl_Valuator::draw(  )
{
  int _cs = 0;
  return DaoCxxVirt_Fl_Valuator::draw( _cs  );
}
int DaoCxx_Fl_Valuator::format( char* _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "format" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _format = DaoCxxVirt_Fl_Valuator::format( _cs, _cp0 );
	if( _cs ) return _format;
  }
  return Fl_Valuator::format( _cp0 );
}
int DaoCxx_Fl_Valuator::handle( int event )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Valuator::handle( _cs, event );
	if( _cs ) return _handle;
  }
  return Fl_Widget::handle( event );
}
void DaoCxx_Fl_Valuator::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Valuator::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_Valuator::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Valuator::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Fl_Valuator::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Valuator::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}
void DaoCxx_Fl_Valuator::value_damage(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "value_damage" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Valuator::value_damage( _cs  );
	if( _cs ) return;
  }
  Fl_Valuator::value_damage(  );
}


DaoCxx_Fl_Adjuster* DAO_DLL_FLTK DaoCxx_Fl_Adjuster_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Adjuster *self = new DaoCxx_Fl_Adjuster( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Adjuster::DaoInitWrapper( Fl_Adjuster *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Valuator::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Adjuster::~DaoCxx_Fl_Adjuster()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Adjuster::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Adjuster_Typer, this );
	DaoCxxVirt_Fl_Adjuster::DaoInitWrapper( this, cdata );
}
int DaoCxxVirt_Fl_Adjuster::format( int &_cs, char* _cp0 )
{
  return DaoCxxVirt_Fl_Valuator::format( _cs, _cp0 );
}
int DaoCxx_Fl_Adjuster::format( char* _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "format" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _format = DaoCxxVirt_Fl_Adjuster::format( _cs, _cp0 );
	if( _cs ) return _format;
  }
  return Fl_Valuator::format( _cp0 );
}
void DaoCxx_Fl_Adjuster::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Adjuster::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Adjuster::draw(  );
}
int DaoCxx_Fl_Adjuster::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Adjuster::handle( _cp0 );
}
void DaoCxx_Fl_Adjuster::value_damage(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "value_damage" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Adjuster::value_damage( _cs  );
	if( _cs ) return;
  }
  Fl_Adjuster::value_damage(  );
}


DaoCxx_Fl_Image* DAO_DLL_FLTK DaoCxx_Fl_Image_New( int W, int H, int D )
{
	DaoCxx_Fl_Image *self = new DaoCxx_Fl_Image( W, H, D );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Image::DaoInitWrapper( Fl_Image *s, DaoCData *d )
{
	self = s;
	cdata = d;

}
DaoCxx_Fl_Image::~DaoCxx_Fl_Image()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Image::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Image_Typer, this );
	DaoCxxVirt_Fl_Image::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Image::color_average( int &_cs, Fl_Color c, float i )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color_average" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100c5( & _cs, _ro, & _obj, c, i );
}
Fl_Image* DaoCxxVirt_Fl_Image::copy( int &_cs, int W, int H )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  Fl_Image* _copy = NULL;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _copy;
  return (Fl_Image*)Function_100c4( & _cs, _ro, & _obj, W, H );
}
void DaoCxxVirt_Fl_Image::desaturate( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "desaturate" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Image::draw( int &_cs, int X, int Y, int W, int H, int cx, int cy )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1009d( & _cs, _ro, & _obj, X, Y, W, H, cx, cy );
}
void DaoCxxVirt_Fl_Image::label( int &_cs, Fl_Menu_Item* m )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100c6( & _cs, _ro, & _obj, m );
}
void DaoCxxVirt_Fl_Image::label( int &_cs, Fl_Widget* w )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10056( & _cs, _ro, & _obj, w );
}
void DaoCxxVirt_Fl_Image::uncache( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "uncache" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxx_Fl_Image::color_average( Fl_Color c, float i )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color_average" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Image::color_average( _cs, c, i );
	if( _cs ) return;
  }
  Fl_Image::color_average( c, i );
}
Fl_Image* DaoCxx_Fl_Image::copy( int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Image* _copy = DaoCxxVirt_Fl_Image::copy( _cs, W, H );
	if( _cs ) return _copy;
  }
  return Fl_Image::copy( W, H );
}
void DaoCxx_Fl_Image::desaturate(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "desaturate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Image::desaturate( _cs  );
	if( _cs ) return;
  }
  Fl_Image::desaturate(  );
}
void DaoCxx_Fl_Image::draw( int X, int Y, int W, int H, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Image::draw( _cs, X, Y, W, H, cx, cy );
	if( _cs ) return;
  }
  Fl_Image::draw( X, Y, W, H, cx, cy );
}
void DaoCxx_Fl_Image::label( Fl_Menu_Item* m )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Image::label( _cs, m );
	if( _cs ) return;
  }
  Fl_Image::label( m );
}
void DaoCxx_Fl_Image::label( Fl_Widget* w )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Image::label( _cs, w );
	if( _cs ) return;
  }
  Fl_Image::label( w );
}
void DaoCxx_Fl_Image::uncache(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "uncache" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Image::uncache( _cs  );
	if( _cs ) return;
  }
  Fl_Image::uncache(  );
}


DaoCxx_Fl_RGB_Image* DAO_DLL_FLTK DaoCxx_Fl_RGB_Image_New( const uchar* bits, int W, int H, int D, int LD )
{
	DaoCxx_Fl_RGB_Image *self = new DaoCxx_Fl_RGB_Image( bits, W, H, D, LD );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_RGB_Image::DaoInitWrapper( Fl_RGB_Image *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Image::DaoInitWrapper( s, d );
}
DaoCxx_Fl_RGB_Image::~DaoCxx_Fl_RGB_Image()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_RGB_Image::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_RGB_Image_Typer, this );
	DaoCxxVirt_Fl_RGB_Image::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_RGB_Image::color_average( int &_cs, Fl_Color c, float i )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color_average" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100c5( & _cs, _ro, & _obj, c, i );
}
Fl_Image* DaoCxxVirt_Fl_RGB_Image::copy( int &_cs, int W, int H )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  Fl_Image* _copy = NULL;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _copy;
  return (Fl_Image*)Function_100c4( & _cs, _ro, & _obj, W, H );
}
void DaoCxxVirt_Fl_RGB_Image::desaturate( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "desaturate" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_RGB_Image::draw( int &_cs, int X, int Y, int W, int H, int cx, int cy )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1009d( & _cs, _ro, & _obj, X, Y, W, H, cx, cy );
}
void DaoCxxVirt_Fl_RGB_Image::label( int &_cs, Fl_Menu_Item* m )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100c6( & _cs, _ro, & _obj, m );
}
void DaoCxxVirt_Fl_RGB_Image::label( int &_cs, Fl_Widget* w )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10056( & _cs, _ro, & _obj, w );
}
void DaoCxxVirt_Fl_RGB_Image::uncache( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "uncache" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxx_Fl_RGB_Image::color_average( Fl_Color c, float i )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color_average" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_RGB_Image::color_average( _cs, c, i );
	if( _cs ) return;
  }
  Fl_RGB_Image::color_average( c, i );
}
Fl_Image* DaoCxx_Fl_RGB_Image::copy( int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Image* _copy = DaoCxxVirt_Fl_RGB_Image::copy( _cs, W, H );
	if( _cs ) return _copy;
  }
  return Fl_RGB_Image::copy( W, H );
}
void DaoCxx_Fl_RGB_Image::desaturate(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "desaturate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_RGB_Image::desaturate( _cs  );
	if( _cs ) return;
  }
  Fl_RGB_Image::desaturate(  );
}
void DaoCxx_Fl_RGB_Image::draw( int X, int Y, int W, int H, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_RGB_Image::draw( _cs, X, Y, W, H, cx, cy );
	if( _cs ) return;
  }
  Fl_RGB_Image::draw( X, Y, W, H, cx, cy );
}
void DaoCxx_Fl_RGB_Image::label( Fl_Menu_Item* m )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_RGB_Image::label( _cs, m );
	if( _cs ) return;
  }
  Fl_RGB_Image::label( m );
}
void DaoCxx_Fl_RGB_Image::label( Fl_Widget* w )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_RGB_Image::label( _cs, w );
	if( _cs ) return;
  }
  Fl_RGB_Image::label( w );
}
void DaoCxx_Fl_RGB_Image::uncache(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "uncache" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_RGB_Image::uncache( _cs  );
	if( _cs ) return;
  }
  Fl_RGB_Image::uncache(  );
}


DaoCxx_Fl_BMP_Image* DAO_DLL_FLTK DaoCxx_Fl_BMP_Image_New( const char* filename )
{
	DaoCxx_Fl_BMP_Image *self = new DaoCxx_Fl_BMP_Image( filename );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_BMP_Image::DaoInitWrapper( Fl_BMP_Image *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_RGB_Image::DaoInitWrapper( s, d );
}
DaoCxx_Fl_BMP_Image::~DaoCxx_Fl_BMP_Image()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_BMP_Image::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_BMP_Image_Typer, this );
	DaoCxxVirt_Fl_BMP_Image::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_BMP_Image::color_average( int &_cs, Fl_Color c, float i )
{
   DaoCxxVirt_Fl_RGB_Image::color_average( _cs, c, i );
}
Fl_Image* DaoCxxVirt_Fl_BMP_Image::copy( int &_cs, int W, int H )
{
  return DaoCxxVirt_Fl_RGB_Image::copy( _cs, W, H );
}
void DaoCxxVirt_Fl_BMP_Image::desaturate( int &_cs  )
{
   DaoCxxVirt_Fl_RGB_Image::desaturate( _cs  );
}
void DaoCxxVirt_Fl_BMP_Image::draw( int &_cs, int X, int Y, int W, int H, int cx, int cy )
{
   DaoCxxVirt_Fl_RGB_Image::draw( _cs, X, Y, W, H, cx, cy );
}
void DaoCxxVirt_Fl_BMP_Image::label( int &_cs, Fl_Menu_Item* m )
{
   DaoCxxVirt_Fl_RGB_Image::label( _cs, m );
}
void DaoCxxVirt_Fl_BMP_Image::label( int &_cs, Fl_Widget* w )
{
   DaoCxxVirt_Fl_RGB_Image::label( _cs, w );
}
void DaoCxxVirt_Fl_BMP_Image::uncache( int &_cs  )
{
   DaoCxxVirt_Fl_RGB_Image::uncache( _cs  );
}
void DaoCxx_Fl_BMP_Image::color_average( Fl_Color c, float i )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color_average" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_BMP_Image::color_average( _cs, c, i );
	if( _cs ) return;
  }
  Fl_RGB_Image::color_average( c, i );
}
Fl_Image* DaoCxx_Fl_BMP_Image::copy( int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Image* _copy = DaoCxxVirt_Fl_BMP_Image::copy( _cs, W, H );
	if( _cs ) return _copy;
  }
  return Fl_RGB_Image::copy( W, H );
}
void DaoCxx_Fl_BMP_Image::desaturate(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "desaturate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_BMP_Image::desaturate( _cs  );
	if( _cs ) return;
  }
  Fl_RGB_Image::desaturate(  );
}
void DaoCxx_Fl_BMP_Image::draw( int X, int Y, int W, int H, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_BMP_Image::draw( _cs, X, Y, W, H, cx, cy );
	if( _cs ) return;
  }
  Fl_RGB_Image::draw( X, Y, W, H, cx, cy );
}
void DaoCxx_Fl_BMP_Image::label( Fl_Menu_Item* m )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_BMP_Image::label( _cs, m );
	if( _cs ) return;
  }
  Fl_RGB_Image::label( m );
}
void DaoCxx_Fl_BMP_Image::label( Fl_Widget* w )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_BMP_Image::label( _cs, w );
	if( _cs ) return;
  }
  Fl_RGB_Image::label( w );
}
void DaoCxx_Fl_BMP_Image::uncache(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "uncache" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_BMP_Image::uncache( _cs  );
	if( _cs ) return;
  }
  Fl_RGB_Image::uncache(  );
}


DaoCxx_Fl_Bitmap* DAO_DLL_FLTK DaoCxx_Fl_Bitmap_New( const char* bits, int W, int H )
{
	DaoCxx_Fl_Bitmap *self = new DaoCxx_Fl_Bitmap( bits, W, H );
	self->DaoInitWrapper();
	return self;
}
DaoCxx_Fl_Bitmap* DAO_DLL_FLTK DaoCxx_Fl_Bitmap_New( const uchar* bits, int W, int H )
{
	DaoCxx_Fl_Bitmap *self = new DaoCxx_Fl_Bitmap( bits, W, H );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Bitmap::DaoInitWrapper( Fl_Bitmap *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Image::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Bitmap::~DaoCxx_Fl_Bitmap()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Bitmap::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Bitmap_Typer, this );
	DaoCxxVirt_Fl_Bitmap::DaoInitWrapper( this, cdata );
}
Fl_Image* DaoCxxVirt_Fl_Bitmap::copy( int &_cs, int W, int H )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  Fl_Image* _copy = NULL;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _copy;
  return (Fl_Image*)Function_100c4( & _cs, _ro, & _obj, W, H );
}
void DaoCxxVirt_Fl_Bitmap::draw( int &_cs, int X, int Y, int W, int H, int cx, int cy )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1009d( & _cs, _ro, & _obj, X, Y, W, H, cx, cy );
}
void DaoCxxVirt_Fl_Bitmap::label( int &_cs, Fl_Menu_Item* m )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100c6( & _cs, _ro, & _obj, m );
}
void DaoCxxVirt_Fl_Bitmap::label( int &_cs, Fl_Widget* w )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10056( & _cs, _ro, & _obj, w );
}
void DaoCxxVirt_Fl_Bitmap::uncache( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "uncache" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Bitmap::color_average( int &_cs, Fl_Color c, float i )
{
   DaoCxxVirt_Fl_Image::color_average( _cs, c, i );
}
void DaoCxxVirt_Fl_Bitmap::desaturate( int &_cs  )
{
   DaoCxxVirt_Fl_Image::desaturate( _cs  );
}
void DaoCxx_Fl_Bitmap::color_average( Fl_Color c, float i )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color_average" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Bitmap::color_average( _cs, c, i );
	if( _cs ) return;
  }
  Fl_Image::color_average( c, i );
}
Fl_Image* DaoCxx_Fl_Bitmap::copy( int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Image* _copy = DaoCxxVirt_Fl_Bitmap::copy( _cs, W, H );
	if( _cs ) return _copy;
  }
  return Fl_Bitmap::copy( W, H );
}
void DaoCxx_Fl_Bitmap::desaturate(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "desaturate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Bitmap::desaturate( _cs  );
	if( _cs ) return;
  }
  Fl_Image::desaturate(  );
}
void DaoCxx_Fl_Bitmap::draw( int X, int Y, int W, int H, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Bitmap::draw( _cs, X, Y, W, H, cx, cy );
	if( _cs ) return;
  }
  Fl_Bitmap::draw( X, Y, W, H, cx, cy );
}
void DaoCxx_Fl_Bitmap::label( Fl_Menu_Item* m )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Bitmap::label( _cs, m );
	if( _cs ) return;
  }
  Fl_Bitmap::label( m );
}
void DaoCxx_Fl_Bitmap::label( Fl_Widget* w )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Bitmap::label( _cs, w );
	if( _cs ) return;
  }
  Fl_Bitmap::label( w );
}
void DaoCxx_Fl_Bitmap::uncache(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "uncache" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Bitmap::uncache( _cs  );
	if( _cs ) return;
  }
  Fl_Bitmap::uncache(  );
}


DaoCxx_Fl_Box* DAO_DLL_FLTK DaoCxx_Fl_Box_New( Fl_Boxtype b, int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Box *self = new DaoCxx_Fl_Box( b, X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
DaoCxx_Fl_Box* DAO_DLL_FLTK DaoCxx_Fl_Box_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Box *self = new DaoCxx_Fl_Box( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Box::DaoInitWrapper( Fl_Box *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Box::~DaoCxx_Fl_Box()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Box::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Box_Typer, this );
	DaoCxxVirt_Fl_Box::DaoInitWrapper( this, cdata );
}
int DaoCxxVirt_Fl_Box::handle( int &_cs, int _cp0 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  int _handle= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _handle;
  return (int)Function_1001b( & _cs, _ro, & _obj, _cp0 );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Box::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Fl_Box::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_Box::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_Box::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
void DaoCxxVirt_Fl_Box::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_Box::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Box::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_Box::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Box::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_Box::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Box::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_Box::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Box::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_Box::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Box::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
int DaoCxx_Fl_Box::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Box::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Box::handle( _cp0 );
}
void DaoCxx_Fl_Box::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Box::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_Box::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Box::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Fl_Box::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Box::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}
void DaoCxx_Fl_Box::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Box::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Box::draw(  );
}


DaoCxx_Fl_Browser_* DAO_DLL_FLTK DaoCxx_Fl_Browser__New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Browser_ *self = new DaoCxx_Fl_Browser_( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Browser_::DaoInitWrapper( Fl_Browser_ *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Group::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Browser_::~DaoCxx_Fl_Browser_()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Browser_::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Browser__Typer, this );
	DaoCxxVirt_Fl_Browser_::DaoInitWrapper( this, cdata );
}
int DaoCxxVirt_Fl_Browser_::full_height( int &_cs  )const
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "full_height" );
  int _full_height= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _full_height;
  return (int)Function_10020( & _cs, _ro, & _obj );
}
int DaoCxxVirt_Fl_Browser_::full_width( int &_cs  )const
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "full_width" );
  int _full_width= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _full_width;
  return (int)Function_10020( & _cs, _ro, & _obj );
}
int DaoCxxVirt_Fl_Browser_::incr_height( int &_cs  )const
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "incr_height" );
  int _incr_height= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _incr_height;
  return (int)Function_10020( & _cs, _ro, & _obj );
}
void* DaoCxxVirt_Fl_Browser_::item_at( int &_cs, int index )const
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_at" );
  void* _item_at = 0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _item_at;
  return (void*)Function_100d3( & _cs, _ro, & _obj, index );
}
void DaoCxxVirt_Fl_Browser_::item_draw( int &_cs, void* item, int X, int Y, int W, int H )const
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100d0( & _cs, _ro, & _obj, item, X, Y, W, H );
}
void* DaoCxxVirt_Fl_Browser_::item_first( int &_cs  )const
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_first" );
  void* _item_first = 0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _item_first;
  return (void*)Function_1003a( & _cs, _ro, & _obj );
}
int DaoCxxVirt_Fl_Browser_::item_height( int &_cs, void* item )const
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_height" );
  int _item_height= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _item_height;
  return (int)Function_100cf( & _cs, _ro, & _obj, item );
}
void* DaoCxxVirt_Fl_Browser_::item_last( int &_cs  )const
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_last" );
  void* _item_last = 0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _item_last;
  return (void*)Function_1003a( & _cs, _ro, & _obj );
}
void* DaoCxxVirt_Fl_Browser_::item_next( int &_cs, void* item )const
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_next" );
  void* _item_next = 0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _item_next;
  return (void*)Function_100ce( & _cs, _ro, & _obj, item );
}
void* DaoCxxVirt_Fl_Browser_::item_prev( int &_cs, void* item )const
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_prev" );
  void* _item_prev = 0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _item_prev;
  return (void*)Function_100ce( & _cs, _ro, & _obj, item );
}
int DaoCxxVirt_Fl_Browser_::item_quick_height( int &_cs, void* item )const
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_quick_height" );
  int _item_quick_height= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _item_quick_height;
  return (int)Function_100cf( & _cs, _ro, & _obj, item );
}
void DaoCxxVirt_Fl_Browser_::item_select( int &_cs, void* item, int val )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_select" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100d4( & _cs, _ro, & _obj, item, val );
}
int DaoCxxVirt_Fl_Browser_::item_selected( int &_cs, void* item )const
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_selected" );
  int _item_selected= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _item_selected;
  return (int)Function_100cf( & _cs, _ro, & _obj, item );
}
void DaoCxxVirt_Fl_Browser_::item_swap( int &_cs, void* a, void* b )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_swap" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100d2( & _cs, _ro, & _obj, a, b );
}
const char* DaoCxxVirt_Fl_Browser_::item_text( int &_cs, void* item )const
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_text" );
  const char* _item_text = 0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _item_text;
  return (const char*)Function_100d1( & _cs, _ro, & _obj, item );
}
int DaoCxxVirt_Fl_Browser_::item_width( int &_cs, void* item )const
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_width" );
  int _item_width= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _item_width;
  return (int)Function_100cf( & _cs, _ro, & _obj, item );
}
Fl_Group* DaoCxxVirt_Fl_Browser_::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Group::as_group( _cs  );
}
Fl_Group* DaoCxx_Fl_Browser_::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Browser_::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}
int DaoCxx_Fl_Browser_::full_height(  )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "full_height" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _full_height = DaoCxxVirt_Fl_Browser_::full_height( _cs  );
	if( _cs ) return _full_height;
  }
  return Fl_Browser_::full_height(  );
}
int DaoCxx_Fl_Browser_::full_width(  )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "full_width" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _full_width = DaoCxxVirt_Fl_Browser_::full_width( _cs  );
	if( _cs ) return _full_width;
  }
  return Fl_Browser_::full_width(  );
}
int DaoCxx_Fl_Browser_::incr_height(  )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "incr_height" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _incr_height = DaoCxxVirt_Fl_Browser_::incr_height( _cs  );
	if( _cs ) return _incr_height;
  }
  return Fl_Browser_::incr_height(  );
}
void* DaoCxx_Fl_Browser_::item_at( int index )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_at" );
  if( _ro && _obj.t == DAO_OBJECT ){
    void* _item_at = DaoCxxVirt_Fl_Browser_::item_at( _cs, index );
	if( _cs ) return _item_at;
  }
  return Fl_Browser_::item_at( index );
}
void DaoCxx_Fl_Browser_::item_draw( void* item, int X, int Y, int W, int H )const
{
  int _cs = 0;
  return DaoCxxVirt_Fl_Browser_::item_draw( _cs, item, X, Y, W, H );
}
void* DaoCxx_Fl_Browser_::item_first(  )const
{
  int _cs = 0;
  return DaoCxxVirt_Fl_Browser_::item_first( _cs  );
}
int DaoCxx_Fl_Browser_::item_height( void* item )const
{
  int _cs = 0;
  return DaoCxxVirt_Fl_Browser_::item_height( _cs, item );
}
void* DaoCxx_Fl_Browser_::item_last(  )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_last" );
  if( _ro && _obj.t == DAO_OBJECT ){
    void* _item_last = DaoCxxVirt_Fl_Browser_::item_last( _cs  );
	if( _cs ) return _item_last;
  }
  return Fl_Browser_::item_last(  );
}
void* DaoCxx_Fl_Browser_::item_next( void* item )const
{
  int _cs = 0;
  return DaoCxxVirt_Fl_Browser_::item_next( _cs, item );
}
void* DaoCxx_Fl_Browser_::item_prev( void* item )const
{
  int _cs = 0;
  return DaoCxxVirt_Fl_Browser_::item_prev( _cs, item );
}
int DaoCxx_Fl_Browser_::item_quick_height( void* item )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_quick_height" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _item_quick_height = DaoCxxVirt_Fl_Browser_::item_quick_height( _cs, item );
	if( _cs ) return _item_quick_height;
  }
  return Fl_Browser_::item_quick_height( item );
}
void DaoCxx_Fl_Browser_::item_select( void* item, int val )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_select" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Browser_::item_select( _cs, item, val );
	if( _cs ) return;
  }
  Fl_Browser_::item_select( item, val );
}
int DaoCxx_Fl_Browser_::item_selected( void* item )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_selected" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _item_selected = DaoCxxVirt_Fl_Browser_::item_selected( _cs, item );
	if( _cs ) return _item_selected;
  }
  return Fl_Browser_::item_selected( item );
}
void DaoCxx_Fl_Browser_::item_swap( void* a, void* b )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_swap" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Browser_::item_swap( _cs, a, b );
	if( _cs ) return;
  }
  Fl_Browser_::item_swap( a, b );
}
const char* DaoCxx_Fl_Browser_::item_text( void* item )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_text" );
  if( _ro && _obj.t == DAO_OBJECT ){
    const char* _item_text = DaoCxxVirt_Fl_Browser_::item_text( _cs, item );
	if( _cs ) return _item_text;
  }
  return Fl_Browser_::item_text( item );
}
int DaoCxx_Fl_Browser_::item_width( void* item )const
{
  int _cs = 0;
  return DaoCxxVirt_Fl_Browser_::item_width( _cs, item );
}
void DaoCxx_Fl_Browser_::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Browser_::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Browser_::draw(  );
}
int DaoCxx_Fl_Browser_::handle( int event )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, event );
	if( _cs ) return _handle;
  }
  return Fl_Browser_::handle( event );
}
void DaoCxx_Fl_Browser_::resize( int X, int Y, int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Widget::resize( _cs, X, Y, W, H );
	if( _cs ) return;
  }
  Fl_Browser_::resize( X, Y, W, H );
}


DaoCxx_Fl_Browser* DAO_DLL_FLTK DaoCxx_Fl_Browser_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Browser *self = new DaoCxx_Fl_Browser( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Browser::DaoInitWrapper( Fl_Browser *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Browser_::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Browser::~DaoCxx_Fl_Browser()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Browser::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Browser_Typer, this );
	DaoCxxVirt_Fl_Browser::DaoInitWrapper( this, cdata );
}
int DaoCxxVirt_Fl_Browser::full_width( int &_cs  )const
{
  return DaoCxxVirt_Fl_Browser_::full_width( _cs  );
}
int DaoCxxVirt_Fl_Browser::item_quick_height( int &_cs, void* item )const
{
  return DaoCxxVirt_Fl_Browser_::item_quick_height( _cs, item );
}
int DaoCxx_Fl_Browser::full_width(  )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "full_width" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _full_width = DaoCxxVirt_Fl_Browser::full_width( _cs  );
	if( _cs ) return _full_width;
  }
  return Fl_Browser_::full_width(  );
}
int DaoCxx_Fl_Browser::item_quick_height( void* item )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_quick_height" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _item_quick_height = DaoCxxVirt_Fl_Browser::item_quick_height( _cs, item );
	if( _cs ) return _item_quick_height;
  }
  return Fl_Browser_::item_quick_height( item );
}
int DaoCxx_Fl_Browser::full_height(  )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "full_height" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _full_height = DaoCxxVirt_Fl_Browser::full_height( _cs  );
	if( _cs ) return _full_height;
  }
  return Fl_Browser::full_height(  );
}
void DaoCxx_Fl_Browser::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Browser::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Browser::hide(  );
}
int DaoCxx_Fl_Browser::incr_height(  )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "incr_height" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _incr_height = DaoCxxVirt_Fl_Browser::incr_height( _cs  );
	if( _cs ) return _incr_height;
  }
  return Fl_Browser::incr_height(  );
}
void* DaoCxx_Fl_Browser::item_at( int line )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_at" );
  if( _ro && _obj.t == DAO_OBJECT ){
    void* _item_at = DaoCxxVirt_Fl_Browser_::item_at( _cs, line );
	if( _cs ) return _item_at;
  }
  return Fl_Browser::item_at( line );
}
void DaoCxx_Fl_Browser::item_draw( void* item, int X, int Y, int W, int H )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Browser_::item_draw( _cs, item, X, Y, W, H );
	if( _cs ) return;
  }
  Fl_Browser::item_draw( item, X, Y, W, H );
}
void* DaoCxx_Fl_Browser::item_first(  )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_first" );
  if( _ro && _obj.t == DAO_OBJECT ){
    void* _item_first = DaoCxxVirt_Fl_Browser::item_first( _cs  );
	if( _cs ) return _item_first;
  }
  return Fl_Browser::item_first(  );
}
int DaoCxx_Fl_Browser::item_height( void* item )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_height" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _item_height = DaoCxxVirt_Fl_Browser_::item_height( _cs, item );
	if( _cs ) return _item_height;
  }
  return Fl_Browser::item_height( item );
}
void* DaoCxx_Fl_Browser::item_last(  )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_last" );
  if( _ro && _obj.t == DAO_OBJECT ){
    void* _item_last = DaoCxxVirt_Fl_Browser::item_last( _cs  );
	if( _cs ) return _item_last;
  }
  return Fl_Browser::item_last(  );
}
void* DaoCxx_Fl_Browser::item_next( void* item )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_next" );
  if( _ro && _obj.t == DAO_OBJECT ){
    void* _item_next = DaoCxxVirt_Fl_Browser_::item_next( _cs, item );
	if( _cs ) return _item_next;
  }
  return Fl_Browser::item_next( item );
}
void* DaoCxx_Fl_Browser::item_prev( void* item )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_prev" );
  if( _ro && _obj.t == DAO_OBJECT ){
    void* _item_prev = DaoCxxVirt_Fl_Browser_::item_prev( _cs, item );
	if( _cs ) return _item_prev;
  }
  return Fl_Browser::item_prev( item );
}
void DaoCxx_Fl_Browser::item_select( void* item, int val )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_select" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Browser_::item_select( _cs, item, val );
	if( _cs ) return;
  }
  Fl_Browser::item_select( item, val );
}
int DaoCxx_Fl_Browser::item_selected( void* item )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_selected" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _item_selected = DaoCxxVirt_Fl_Browser_::item_selected( _cs, item );
	if( _cs ) return _item_selected;
  }
  return Fl_Browser::item_selected( item );
}
void DaoCxx_Fl_Browser::item_swap( void* a, void* b )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_swap" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Browser_::item_swap( _cs, a, b );
	if( _cs ) return;
  }
  Fl_Browser::item_swap( a, b );
}
const char* DaoCxx_Fl_Browser::item_text( void* item )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_text" );
  if( _ro && _obj.t == DAO_OBJECT ){
    const char* _item_text = DaoCxxVirt_Fl_Browser_::item_text( _cs, item );
	if( _cs ) return _item_text;
  }
  return Fl_Browser::item_text( item );
}
int DaoCxx_Fl_Browser::item_width( void* item )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_width" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _item_width = DaoCxxVirt_Fl_Browser_::item_width( _cs, item );
	if( _cs ) return _item_width;
  }
  return Fl_Browser::item_width( item );
}
void DaoCxx_Fl_Browser::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Browser::show( _cs  );
	if( _cs ) return;
  }
  Fl_Browser::show(  );
}


DaoCxx_Fl_Button* DAO_DLL_FLTK DaoCxx_Fl_Button_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Button *self = new DaoCxx_Fl_Button( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Button::DaoInitWrapper( Fl_Button *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Button::~DaoCxx_Fl_Button()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Button::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Button_Typer, this );
	DaoCxxVirt_Fl_Button::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Button::draw( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
int DaoCxxVirt_Fl_Button::handle( int &_cs, int _cp0 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  int _handle= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _handle;
  return (int)Function_1001b( & _cs, _ro, & _obj, _cp0 );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Button::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Fl_Button::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_Button::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_Button::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
void DaoCxxVirt_Fl_Button::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_Button::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Button::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_Button::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Button::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_Button::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Button::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_Button::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Button::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_Button::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Button::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
void DaoCxx_Fl_Button::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Button::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Button::draw(  );
}
int DaoCxx_Fl_Button::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Button::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Button::handle( _cp0 );
}
void DaoCxx_Fl_Button::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Button::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_Button::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Button::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Fl_Button::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Button::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}


DaoCxx_Fl_Chart* DAO_DLL_FLTK DaoCxx_Fl_Chart_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Chart *self = new DaoCxx_Fl_Chart( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Chart::DaoInitWrapper( Fl_Chart *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Chart::~DaoCxx_Fl_Chart()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Chart::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Chart_Typer, this );
	DaoCxxVirt_Fl_Chart::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Chart::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Fl_Chart::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_Chart::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_Chart::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
int DaoCxxVirt_Fl_Chart::handle( int &_cs, int event )
{
  return DaoCxxVirt_Fl_Widget::handle( _cs, event );
}
void DaoCxxVirt_Fl_Chart::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_Chart::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Chart::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_Chart::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Chart::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_Chart::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Chart::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_Chart::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Chart::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_Chart::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Chart::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
int DaoCxx_Fl_Chart::handle( int event )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Chart::handle( _cs, event );
	if( _cs ) return _handle;
  }
  return Fl_Widget::handle( event );
}
void DaoCxx_Fl_Chart::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Chart::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_Chart::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Chart::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Fl_Chart::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Chart::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}
void DaoCxx_Fl_Chart::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Chart::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Chart::draw(  );
}


DaoCxx_Fl_Check_Browser* DAO_DLL_FLTK DaoCxx_Fl_Check_Browser_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Check_Browser *self = new DaoCxx_Fl_Check_Browser( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Check_Browser::DaoInitWrapper( Fl_Check_Browser *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Browser_::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Check_Browser::~DaoCxx_Fl_Check_Browser()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Check_Browser::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Check_Browser_Typer, this );
	DaoCxxVirt_Fl_Check_Browser::DaoInitWrapper( this, cdata );
}
int DaoCxxVirt_Fl_Check_Browser::full_height( int &_cs  )const
{
  return DaoCxxVirt_Fl_Browser_::full_height( _cs  );
}
int DaoCxxVirt_Fl_Check_Browser::full_width( int &_cs  )const
{
  return DaoCxxVirt_Fl_Browser_::full_width( _cs  );
}
int DaoCxxVirt_Fl_Check_Browser::incr_height( int &_cs  )const
{
  return DaoCxxVirt_Fl_Browser_::incr_height( _cs  );
}
void* DaoCxxVirt_Fl_Check_Browser::item_at( int &_cs, int index )const
{
  return DaoCxxVirt_Fl_Browser_::item_at( _cs, index );
}
void* DaoCxxVirt_Fl_Check_Browser::item_last( int &_cs  )const
{
  return DaoCxxVirt_Fl_Browser_::item_last( _cs  );
}
int DaoCxxVirt_Fl_Check_Browser::item_quick_height( int &_cs, void* item )const
{
  return DaoCxxVirt_Fl_Browser_::item_quick_height( _cs, item );
}
void DaoCxxVirt_Fl_Check_Browser::item_swap( int &_cs, void* a, void* b )
{
   DaoCxxVirt_Fl_Browser_::item_swap( _cs, a, b );
}
const char* DaoCxxVirt_Fl_Check_Browser::item_text( int &_cs, void* item )const
{
  return DaoCxxVirt_Fl_Browser_::item_text( _cs, item );
}
int DaoCxx_Fl_Check_Browser::full_height(  )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "full_height" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _full_height = DaoCxxVirt_Fl_Check_Browser::full_height( _cs  );
	if( _cs ) return _full_height;
  }
  return Fl_Browser_::full_height(  );
}
int DaoCxx_Fl_Check_Browser::full_width(  )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "full_width" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _full_width = DaoCxxVirt_Fl_Check_Browser::full_width( _cs  );
	if( _cs ) return _full_width;
  }
  return Fl_Browser_::full_width(  );
}
int DaoCxx_Fl_Check_Browser::incr_height(  )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "incr_height" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _incr_height = DaoCxxVirt_Fl_Check_Browser::incr_height( _cs  );
	if( _cs ) return _incr_height;
  }
  return Fl_Browser_::incr_height(  );
}
void* DaoCxx_Fl_Check_Browser::item_at( int index )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_at" );
  if( _ro && _obj.t == DAO_OBJECT ){
    void* _item_at = DaoCxxVirt_Fl_Check_Browser::item_at( _cs, index );
	if( _cs ) return _item_at;
  }
  return Fl_Browser_::item_at( index );
}
void* DaoCxx_Fl_Check_Browser::item_last(  )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_last" );
  if( _ro && _obj.t == DAO_OBJECT ){
    void* _item_last = DaoCxxVirt_Fl_Check_Browser::item_last( _cs  );
	if( _cs ) return _item_last;
  }
  return Fl_Browser_::item_last(  );
}
int DaoCxx_Fl_Check_Browser::item_quick_height( void* item )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_quick_height" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _item_quick_height = DaoCxxVirt_Fl_Check_Browser::item_quick_height( _cs, item );
	if( _cs ) return _item_quick_height;
  }
  return Fl_Browser_::item_quick_height( item );
}
void DaoCxx_Fl_Check_Browser::item_swap( void* a, void* b )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_swap" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Check_Browser::item_swap( _cs, a, b );
	if( _cs ) return;
  }
  Fl_Browser_::item_swap( a, b );
}
const char* DaoCxx_Fl_Check_Browser::item_text( void* item )const
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "item_text" );
  if( _ro && _obj.t == DAO_OBJECT ){
    const char* _item_text = DaoCxxVirt_Fl_Check_Browser::item_text( _cs, item );
	if( _cs ) return _item_text;
  }
  return Fl_Browser_::item_text( item );
}
int DaoCxx_Fl_Check_Browser::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Check_Browser::handle( _cp0 );
}



DaoCxx_Fl_Light_Button* DAO_DLL_FLTK DaoCxx_Fl_Light_Button_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Light_Button *self = new DaoCxx_Fl_Light_Button( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Light_Button::DaoInitWrapper( Fl_Light_Button *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Button::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Light_Button::~DaoCxx_Fl_Light_Button()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Light_Button::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Light_Button_Typer, this );
	DaoCxxVirt_Fl_Light_Button::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Light_Button::draw( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
int DaoCxxVirt_Fl_Light_Button::handle( int &_cs, int _cp0 )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  int _handle= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _handle;
  return (int)Function_1001b( & _cs, _ro, & _obj, _cp0 );
}
void DaoCxx_Fl_Light_Button::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Light_Button::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Light_Button::draw(  );
}
int DaoCxx_Fl_Light_Button::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Light_Button::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Light_Button::handle( _cp0 );
}


DaoCxx_Fl_Check_Button* DAO_DLL_FLTK DaoCxx_Fl_Check_Button_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Check_Button *self = new DaoCxx_Fl_Check_Button( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Check_Button::DaoInitWrapper( Fl_Check_Button *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Light_Button::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Check_Button::~DaoCxx_Fl_Check_Button()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Check_Button::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Check_Button_Typer, this );
	DaoCxxVirt_Fl_Check_Button::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Check_Button::draw( int &_cs  )
{
   DaoCxxVirt_Fl_Light_Button::draw( _cs  );
}
int DaoCxxVirt_Fl_Check_Button::handle( int &_cs, int _cp0 )
{
  return DaoCxxVirt_Fl_Light_Button::handle( _cs, _cp0 );
}
void DaoCxx_Fl_Check_Button::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Check_Button::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Light_Button::draw(  );
}
int DaoCxx_Fl_Check_Button::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Check_Button::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Light_Button::handle( _cp0 );
}


DaoCxx_Fl_Menu_* DAO_DLL_FLTK DaoCxx_Fl_Menu__New( int _cp0, int _cp1, int _cp2, int _cp3, const char* _cp4 )
{
	DaoCxx_Fl_Menu_ *self = new DaoCxx_Fl_Menu_( _cp0, _cp1, _cp2, _cp3, _cp4 );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Menu_::DaoInitWrapper( Fl_Menu_ *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Menu_::~DaoCxx_Fl_Menu_()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Menu_::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Menu__Typer, this );
	DaoCxxVirt_Fl_Menu_::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Menu_::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Fl_Menu_::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_Menu_::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_Menu_::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
void DaoCxxVirt_Fl_Menu_::draw( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::draw( _cs  );
}
int DaoCxxVirt_Fl_Menu_::handle( int &_cs, int event )
{
  return DaoCxxVirt_Fl_Widget::handle( _cs, event );
}
void DaoCxxVirt_Fl_Menu_::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_Menu_::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Menu_::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_Menu_::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Menu_::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_Menu_::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Menu_::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_Menu_::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Menu_::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_Menu_::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Menu_::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
void DaoCxx_Fl_Menu_::draw(  )
{
  int _cs = 0;
  return DaoCxxVirt_Fl_Menu_::draw( _cs  );
}
int DaoCxx_Fl_Menu_::handle( int event )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Menu_::handle( _cs, event );
	if( _cs ) return _handle;
  }
  return Fl_Widget::handle( event );
}
void DaoCxx_Fl_Menu_::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Menu_::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_Menu_::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Menu_::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Fl_Menu_::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Menu_::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}


DaoCxx_Fl_Choice* DAO_DLL_FLTK DaoCxx_Fl_Choice_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Choice *self = new DaoCxx_Fl_Choice( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Choice::DaoInitWrapper( Fl_Choice *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Menu_::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Choice::~DaoCxx_Fl_Choice()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Choice::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Choice_Typer, this );
	DaoCxxVirt_Fl_Choice::DaoInitWrapper( this, cdata );
}
void DaoCxx_Fl_Choice::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Choice::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Choice::draw(  );
}
int DaoCxx_Fl_Choice::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Choice::handle( _cp0 );
}


DaoCxx_Fl_Clock_Output* DAO_DLL_FLTK DaoCxx_Fl_Clock_Output_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Clock_Output *self = new DaoCxx_Fl_Clock_Output( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Clock_Output::DaoInitWrapper( Fl_Clock_Output *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Clock_Output::~DaoCxx_Fl_Clock_Output()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Clock_Output::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Clock_Output_Typer, this );
	DaoCxxVirt_Fl_Clock_Output::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Clock_Output::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Fl_Clock_Output::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_Clock_Output::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_Clock_Output::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
int DaoCxxVirt_Fl_Clock_Output::handle( int &_cs, int event )
{
  return DaoCxxVirt_Fl_Widget::handle( _cs, event );
}
void DaoCxxVirt_Fl_Clock_Output::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_Clock_Output::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Clock_Output::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_Clock_Output::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Clock_Output::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_Clock_Output::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Clock_Output::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_Clock_Output::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Clock_Output::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_Clock_Output::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Clock_Output::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
int DaoCxx_Fl_Clock_Output::handle( int event )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Clock_Output::handle( _cs, event );
	if( _cs ) return _handle;
  }
  return Fl_Widget::handle( event );
}
void DaoCxx_Fl_Clock_Output::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Clock_Output::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_Clock_Output::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Clock_Output::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Fl_Clock_Output::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Clock_Output::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}
void DaoCxx_Fl_Clock_Output::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Clock_Output::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Clock_Output::draw(  );
}


DaoCxx_Fl_Clock* DAO_DLL_FLTK DaoCxx_Fl_Clock_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Clock *self = new DaoCxx_Fl_Clock( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
DaoCxx_Fl_Clock* DAO_DLL_FLTK DaoCxx_Fl_Clock_New( uchar t, int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Clock *self = new DaoCxx_Fl_Clock( t, X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Clock::DaoInitWrapper( Fl_Clock *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Clock_Output::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Clock::~DaoCxx_Fl_Clock()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Clock::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Clock_Typer, this );
	DaoCxxVirt_Fl_Clock::DaoInitWrapper( this, cdata );
}
int DaoCxx_Fl_Clock::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Clock::handle( _cp0 );
}


DaoCxx_Fl_Color_Chooser* DAO_DLL_FLTK DaoCxx_Fl_Color_Chooser_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Color_Chooser *self = new DaoCxx_Fl_Color_Chooser( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Color_Chooser::DaoInitWrapper( Fl_Color_Chooser *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Group::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Color_Chooser::~DaoCxx_Fl_Color_Chooser()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Color_Chooser::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Color_Chooser_Typer, this );
	DaoCxxVirt_Fl_Color_Chooser::DaoInitWrapper( this, cdata );
}
Fl_Group* DaoCxxVirt_Fl_Color_Chooser::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Group::as_group( _cs  );
}
Fl_Group* DaoCxx_Fl_Color_Chooser::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Color_Chooser::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}


DaoCxx_Fl_Counter* DAO_DLL_FLTK DaoCxx_Fl_Counter_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Counter *self = new DaoCxx_Fl_Counter( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Counter::DaoInitWrapper( Fl_Counter *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Valuator::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Counter::~DaoCxx_Fl_Counter()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Counter::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Counter_Typer, this );
	DaoCxxVirt_Fl_Counter::DaoInitWrapper( this, cdata );
}
int DaoCxxVirt_Fl_Counter::format( int &_cs, char* _cp0 )
{
  return DaoCxxVirt_Fl_Valuator::format( _cs, _cp0 );
}
void DaoCxxVirt_Fl_Counter::value_damage( int &_cs  )
{
   DaoCxxVirt_Fl_Valuator::value_damage( _cs  );
}
int DaoCxx_Fl_Counter::format( char* _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "format" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _format = DaoCxxVirt_Fl_Counter::format( _cs, _cp0 );
	if( _cs ) return _format;
  }
  return Fl_Valuator::format( _cp0 );
}
void DaoCxx_Fl_Counter::value_damage(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "value_damage" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Counter::value_damage( _cs  );
	if( _cs ) return;
  }
  Fl_Valuator::value_damage(  );
}
void DaoCxx_Fl_Counter::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Counter::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Counter::draw(  );
}
int DaoCxx_Fl_Counter::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Counter::handle( _cp0 );
}


Fl_Plugin* DAO_DLL_FLTK Dao_Fl_Plugin_New( const char* klass, const char* name )
{
	Fl_Plugin *object = new Fl_Plugin( klass, name );
	return object;
}


DaoCxx_Fl_Device_Plugin* DAO_DLL_FLTK DaoCxx_Fl_Device_Plugin_New( const char* name )
{
	DaoCxx_Fl_Device_Plugin *self = new DaoCxx_Fl_Device_Plugin( name );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Device_Plugin::DaoInitWrapper( Fl_Device_Plugin *s, DaoCData *d )
{
	self = s;
	cdata = d;

}
DaoCxx_Fl_Device_Plugin::~DaoCxx_Fl_Device_Plugin()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Device_Plugin::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Device_Plugin_Typer, this );
	DaoCxxVirt_Fl_Device_Plugin::DaoInitWrapper( this, cdata );
}
const char* DaoCxxVirt_Fl_Device_Plugin::klass( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "klass" );
  const char* _klass = 0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _klass;
  return (const char*)Function_1006f( & _cs, _ro, & _obj );
}
const char* DaoCxxVirt_Fl_Device_Plugin::name( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "name" );
  const char* _name = 0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _name;
  return (const char*)Function_1006f( & _cs, _ro, & _obj );
}
int DaoCxxVirt_Fl_Device_Plugin::print( int &_cs, Fl_Abstract_Printer* _cp0, Fl_Widget* _cp1, int x, int y )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "print" );
  int _print= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _print;
  return (int)Function_10111( & _cs, _ro, & _obj, _cp0, _cp1, x, y );
}
const char* DaoCxx_Fl_Device_Plugin::klass(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "klass" );
  if( _ro && _obj.t == DAO_OBJECT ){
    const char* _klass = DaoCxxVirt_Fl_Device_Plugin::klass( _cs  );
	if( _cs ) return _klass;
  }
  return Fl_Device_Plugin::klass(  );
}
const char* DaoCxx_Fl_Device_Plugin::name(  )
{
  int _cs = 0;
  return DaoCxxVirt_Fl_Device_Plugin::name( _cs  );
}
int DaoCxx_Fl_Device_Plugin::print( Fl_Abstract_Printer* _cp0, Fl_Widget* _cp1, int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "print" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _print = DaoCxxVirt_Fl_Device_Plugin::print( _cs, _cp0, _cp1, x, y );
	if( _cs ) return _print;
  }
  return Fl_Device_Plugin::print( _cp0, _cp1, x, y );
}


DaoCxx_Fl_Dial* DAO_DLL_FLTK DaoCxx_Fl_Dial_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Dial *self = new DaoCxx_Fl_Dial( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Dial::DaoInitWrapper( Fl_Dial *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Valuator::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Dial::~DaoCxx_Fl_Dial()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Dial::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Dial_Typer, this );
	DaoCxxVirt_Fl_Dial::DaoInitWrapper( this, cdata );
}
int DaoCxxVirt_Fl_Dial::format( int &_cs, char* _cp0 )
{
  return DaoCxxVirt_Fl_Valuator::format( _cs, _cp0 );
}
void DaoCxxVirt_Fl_Dial::value_damage( int &_cs  )
{
   DaoCxxVirt_Fl_Valuator::value_damage( _cs  );
}
int DaoCxx_Fl_Dial::format( char* _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "format" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _format = DaoCxxVirt_Fl_Dial::format( _cs, _cp0 );
	if( _cs ) return _format;
  }
  return Fl_Valuator::format( _cp0 );
}
void DaoCxx_Fl_Dial::value_damage(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "value_damage" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Dial::value_damage( _cs  );
	if( _cs ) return;
  }
  Fl_Valuator::value_damage(  );
}
void DaoCxx_Fl_Dial::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Dial::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Dial::draw(  );
}
int DaoCxx_Fl_Dial::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Dial::handle( _cp0 );
}


DaoCxx_Fl_Display* DAO_DLL_FLTK DaoCxx_Fl_Display_New(  )
{
	DaoCxx_Fl_Display *self = new DaoCxx_Fl_Display(  );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Display::DaoInitWrapper( Fl_Display *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Device::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Display::~DaoCxx_Fl_Display()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Display::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Display_Typer, this );
	DaoCxxVirt_Fl_Display::DaoInitWrapper( this, cdata );
}
Fl_Display* DAO_DLL_FLTK Dao_Fl_Display_Copy( const Fl_Display &p )
{
	Fl_Display *object = new Fl_Display( p );
	return object;
}
void DaoCxxVirt_Fl_Display::arc( int &_cs, double x, double y, double r, double start, double a )
{
   DaoCxxVirt_Fl_Device::arc( _cs, x, y, r, start, a );
}
void DaoCxxVirt_Fl_Display::arc( int &_cs, int x, int y, int w, int h, double a1, double a2 )
{
   DaoCxxVirt_Fl_Device::arc( _cs, x, y, w, h, a1, a2 );
}
void DaoCxxVirt_Fl_Display::begin_complex_polygon( int &_cs  )
{
   DaoCxxVirt_Fl_Device::begin_complex_polygon( _cs  );
}
void DaoCxxVirt_Fl_Display::begin_line( int &_cs  )
{
   DaoCxxVirt_Fl_Device::begin_line( _cs  );
}
void DaoCxxVirt_Fl_Display::begin_loop( int &_cs  )
{
   DaoCxxVirt_Fl_Device::begin_loop( _cs  );
}
void DaoCxxVirt_Fl_Display::begin_points( int &_cs  )
{
   DaoCxxVirt_Fl_Device::begin_points( _cs  );
}
void DaoCxxVirt_Fl_Display::begin_polygon( int &_cs  )
{
   DaoCxxVirt_Fl_Device::begin_polygon( _cs  );
}
void DaoCxxVirt_Fl_Display::circle( int &_cs, double x, double y, double r )
{
   DaoCxxVirt_Fl_Device::circle( _cs, x, y, r );
}
int DaoCxxVirt_Fl_Display::clip_box( int &_cs, int x, int y, int w, int h, int& X, int& Y, int& W, int& H )
{
  return DaoCxxVirt_Fl_Device::clip_box( _cs, x, y, w, h, X, Y, W, H );
}
void DaoCxxVirt_Fl_Display::color( int &_cs, Fl_Color c )
{
   DaoCxxVirt_Fl_Device::color( _cs, c );
}
void DaoCxxVirt_Fl_Display::color( int &_cs, uchar r, uchar g, uchar b )
{
   DaoCxxVirt_Fl_Device::color( _cs, r, g, b );
}
void DaoCxxVirt_Fl_Display::curve( int &_cs, double x, double y, double x1, double y1, double x2, double y2, double x3, double y3 )
{
   DaoCxxVirt_Fl_Device::curve( _cs, x, y, x1, y1, x2, y2, x3, y3 );
}
void DaoCxxVirt_Fl_Display::draw( int &_cs, Fl_Bitmap* bmp, int XP, int YP, int WP, int HP, int cx, int cy )
{
   DaoCxxVirt_Fl_Device::draw( _cs, bmp, XP, YP, WP, HP, cx, cy );
}
void DaoCxxVirt_Fl_Display::draw( int &_cs, Fl_Pixmap* pxm, int XP, int YP, int WP, int HP, int cx, int cy )
{
   DaoCxxVirt_Fl_Device::draw( _cs, pxm, XP, YP, WP, HP, cx, cy );
}
void DaoCxxVirt_Fl_Display::draw( int &_cs, Fl_RGB_Image* rgb, int XP, int YP, int WP, int HP, int cx, int cy )
{
   DaoCxxVirt_Fl_Device::draw( _cs, rgb, XP, YP, WP, HP, cx, cy );
}
void DaoCxxVirt_Fl_Display::draw( int &_cs, const char* str, int n, int x, int y )
{
   DaoCxxVirt_Fl_Device::draw( _cs, str, n, x, y );
}
void DaoCxxVirt_Fl_Display::draw( int &_cs, int angle, const char* str, int n, int x, int y )
{
   DaoCxxVirt_Fl_Device::draw( _cs, angle, str, n, x, y );
}
void DaoCxxVirt_Fl_Display::draw_image( int &_cs, const uchar* _cp0, int _cp1, int _cp2, int _cp3, int _cp4, int delta, int ldelta )
{
   DaoCxxVirt_Fl_Device::draw_image( _cs, _cp0, _cp1, _cp2, _cp3, _cp4, delta, ldelta );
}
void DaoCxxVirt_Fl_Display::draw_image_mono( int &_cs, const uchar* _cp0, int _cp1, int _cp2, int _cp3, int _cp4, int delta, int ld )
{
   DaoCxxVirt_Fl_Device::draw_image_mono( _cs, _cp0, _cp1, _cp2, _cp3, _cp4, delta, ld );
}
void DaoCxxVirt_Fl_Display::end_complex_polygon( int &_cs  )
{
   DaoCxxVirt_Fl_Device::end_complex_polygon( _cs  );
}
void DaoCxxVirt_Fl_Display::end_line( int &_cs  )
{
   DaoCxxVirt_Fl_Device::end_line( _cs  );
}
void DaoCxxVirt_Fl_Display::end_loop( int &_cs  )
{
   DaoCxxVirt_Fl_Device::end_loop( _cs  );
}
void DaoCxxVirt_Fl_Display::end_points( int &_cs  )
{
   DaoCxxVirt_Fl_Device::end_points( _cs  );
}
void DaoCxxVirt_Fl_Display::end_polygon( int &_cs  )
{
   DaoCxxVirt_Fl_Device::end_polygon( _cs  );
}
void DaoCxxVirt_Fl_Display::font( int &_cs, Fl_Font face, Fl_Fontsize size )
{
   DaoCxxVirt_Fl_Device::font( _cs, face, size );
}
void DaoCxxVirt_Fl_Display::gap( int &_cs  )
{
   DaoCxxVirt_Fl_Device::gap( _cs  );
}
void DaoCxxVirt_Fl_Display::line( int &_cs, int x, int y, int x1, int y1 )
{
   DaoCxxVirt_Fl_Device::line( _cs, x, y, x1, y1 );
}
void DaoCxxVirt_Fl_Display::line( int &_cs, int x, int y, int x1, int y1, int x2, int y2 )
{
   DaoCxxVirt_Fl_Device::line( _cs, x, y, x1, y1, x2, y2 );
}
void DaoCxxVirt_Fl_Display::line_style( int &_cs, int style, int width, char* dashes )
{
   DaoCxxVirt_Fl_Device::line_style( _cs, style, width, dashes );
}
void DaoCxxVirt_Fl_Display::loop( int &_cs, int x0, int y0, int x1, int y1, int x2, int y2 )
{
   DaoCxxVirt_Fl_Device::loop( _cs, x0, y0, x1, y1, x2, y2 );
}
void DaoCxxVirt_Fl_Display::loop( int &_cs, int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
   DaoCxxVirt_Fl_Device::loop( _cs, x0, y0, x1, y1, x2, y2, x3, y3 );
}
int DaoCxxVirt_Fl_Display::not_clipped( int &_cs, int x, int y, int w, int h )
{
  return DaoCxxVirt_Fl_Device::not_clipped( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Display::pie( int &_cs, int x, int y, int w, int h, double a1, double a2 )
{
   DaoCxxVirt_Fl_Device::pie( _cs, x, y, w, h, a1, a2 );
}
void DaoCxxVirt_Fl_Display::point( int &_cs, int x, int y )
{
   DaoCxxVirt_Fl_Device::point( _cs, x, y );
}
void DaoCxxVirt_Fl_Display::polygon( int &_cs, int x0, int y0, int x1, int y1, int x2, int y2 )
{
   DaoCxxVirt_Fl_Device::polygon( _cs, x0, y0, x1, y1, x2, y2 );
}
void DaoCxxVirt_Fl_Display::polygon( int &_cs, int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
   DaoCxxVirt_Fl_Device::polygon( _cs, x0, y0, x1, y1, x2, y2, x3, y3 );
}
void DaoCxxVirt_Fl_Display::pop_clip( int &_cs  )
{
   DaoCxxVirt_Fl_Device::pop_clip( _cs  );
}
void DaoCxxVirt_Fl_Display::push_clip( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Device::push_clip( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Display::push_no_clip( int &_cs  )
{
   DaoCxxVirt_Fl_Device::push_no_clip( _cs  );
}
void DaoCxxVirt_Fl_Display::rect( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Device::rect( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Display::rectf( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Device::rectf( _cs, x, y, w, h );
}
Fl_Device* DaoCxxVirt_Fl_Display::set_current( int &_cs  )
{
  return DaoCxxVirt_Fl_Device::set_current( _cs  );
}
void DaoCxxVirt_Fl_Display::transformed_vertex( int &_cs, double x, double y )
{
   DaoCxxVirt_Fl_Device::transformed_vertex( _cs, x, y );
}
void DaoCxxVirt_Fl_Display::vertex( int &_cs, double x, double y )
{
   DaoCxxVirt_Fl_Device::vertex( _cs, x, y );
}
void DaoCxxVirt_Fl_Display::xyline( int &_cs, int x, int y, int x1 )
{
   DaoCxxVirt_Fl_Device::xyline( _cs, x, y, x1 );
}
void DaoCxxVirt_Fl_Display::xyline( int &_cs, int x, int y, int x1, int y2 )
{
   DaoCxxVirt_Fl_Device::xyline( _cs, x, y, x1, y2 );
}
void DaoCxxVirt_Fl_Display::xyline( int &_cs, int x, int y, int x1, int y2, int x3 )
{
   DaoCxxVirt_Fl_Device::xyline( _cs, x, y, x1, y2, x3 );
}
void DaoCxxVirt_Fl_Display::yxline( int &_cs, int x, int y, int y1 )
{
   DaoCxxVirt_Fl_Device::yxline( _cs, x, y, y1 );
}
void DaoCxxVirt_Fl_Display::yxline( int &_cs, int x, int y, int y1, int x2 )
{
   DaoCxxVirt_Fl_Device::yxline( _cs, x, y, y1, x2 );
}
void DaoCxxVirt_Fl_Display::yxline( int &_cs, int x, int y, int y1, int x2, int y3 )
{
   DaoCxxVirt_Fl_Device::yxline( _cs, x, y, y1, x2, y3 );
}
void DaoCxx_Fl_Display::arc( double x, double y, double r, double start, double a )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "arc" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::arc( _cs, x, y, r, start, a );
	if( _cs ) return;
  }
  Fl_Device::arc( x, y, r, start, a );
}
void DaoCxx_Fl_Display::arc( int x, int y, int w, int h, double a1, double a2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "arc" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::arc( _cs, x, y, w, h, a1, a2 );
	if( _cs ) return;
  }
  Fl_Device::arc( x, y, w, h, a1, a2 );
}
void DaoCxx_Fl_Display::begin_complex_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_complex_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::begin_complex_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_complex_polygon(  );
}
void DaoCxx_Fl_Display::begin_line(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::begin_line( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_line(  );
}
void DaoCxx_Fl_Display::begin_loop(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::begin_loop( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_loop(  );
}
void DaoCxx_Fl_Display::begin_points(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_points" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::begin_points( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_points(  );
}
void DaoCxx_Fl_Display::begin_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::begin_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_Device::begin_polygon(  );
}
void DaoCxx_Fl_Display::circle( double x, double y, double r )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "circle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::circle( _cs, x, y, r );
	if( _cs ) return;
  }
  Fl_Device::circle( x, y, r );
}
int DaoCxx_Fl_Display::clip_box( int x, int y, int w, int h, int& X, int& Y, int& W, int& H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "clip_box" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _clip_box = DaoCxxVirt_Fl_Display::clip_box( _cs, x, y, w, h, X, Y, W, H );
	if( _cs ) return _clip_box;
  }
  return Fl_Device::clip_box( x, y, w, h, X, Y, W, H );
}
void DaoCxx_Fl_Display::color( Fl_Color c )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::color( _cs, c );
	if( _cs ) return;
  }
  Fl_Device::color( c );
}
void DaoCxx_Fl_Display::color( uchar r, uchar g, uchar b )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::color( _cs, r, g, b );
	if( _cs ) return;
  }
  Fl_Device::color( r, g, b );
}
void DaoCxx_Fl_Display::curve( double x, double y, double x1, double y1, double x2, double y2, double x3, double y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "curve" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::curve( _cs, x, y, x1, y1, x2, y2, x3, y3 );
	if( _cs ) return;
  }
  Fl_Device::curve( x, y, x1, y1, x2, y2, x3, y3 );
}
void DaoCxx_Fl_Display::draw( Fl_Bitmap* bmp, int XP, int YP, int WP, int HP, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::draw( _cs, bmp, XP, YP, WP, HP, cx, cy );
	if( _cs ) return;
  }
  Fl_Device::draw( bmp, XP, YP, WP, HP, cx, cy );
}
void DaoCxx_Fl_Display::draw( Fl_Pixmap* pxm, int XP, int YP, int WP, int HP, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::draw( _cs, pxm, XP, YP, WP, HP, cx, cy );
	if( _cs ) return;
  }
  Fl_Device::draw( pxm, XP, YP, WP, HP, cx, cy );
}
void DaoCxx_Fl_Display::draw( Fl_RGB_Image* rgb, int XP, int YP, int WP, int HP, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::draw( _cs, rgb, XP, YP, WP, HP, cx, cy );
	if( _cs ) return;
  }
  Fl_Device::draw( rgb, XP, YP, WP, HP, cx, cy );
}
void DaoCxx_Fl_Display::draw( const char* str, int n, int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::draw( _cs, str, n, x, y );
	if( _cs ) return;
  }
  Fl_Device::draw( str, n, x, y );
}
void DaoCxx_Fl_Display::draw( int angle, const char* str, int n, int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::draw( _cs, angle, str, n, x, y );
	if( _cs ) return;
  }
  Fl_Device::draw( angle, str, n, x, y );
}
void DaoCxx_Fl_Display::draw_image( const uchar* _cp0, int _cp1, int _cp2, int _cp3, int _cp4, int delta, int ldelta )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw_image" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::draw_image( _cs, _cp0, _cp1, _cp2, _cp3, _cp4, delta, ldelta );
	if( _cs ) return;
  }
  Fl_Device::draw_image( _cp0, _cp1, _cp2, _cp3, _cp4, delta, ldelta );
}
void DaoCxx_Fl_Display::draw_image_mono( const uchar* _cp0, int _cp1, int _cp2, int _cp3, int _cp4, int delta, int ld )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw_image_mono" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::draw_image_mono( _cs, _cp0, _cp1, _cp2, _cp3, _cp4, delta, ld );
	if( _cs ) return;
  }
  Fl_Device::draw_image_mono( _cp0, _cp1, _cp2, _cp3, _cp4, delta, ld );
}
void DaoCxx_Fl_Display::end_complex_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_complex_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::end_complex_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_complex_polygon(  );
}
void DaoCxx_Fl_Display::end_line(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::end_line( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_line(  );
}
void DaoCxx_Fl_Display::end_loop(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::end_loop( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_loop(  );
}
void DaoCxx_Fl_Display::end_points(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_points" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::end_points( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_points(  );
}
void DaoCxx_Fl_Display::end_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::end_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_Device::end_polygon(  );
}
void DaoCxx_Fl_Display::font( Fl_Font face, Fl_Fontsize size )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "font" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::font( _cs, face, size );
	if( _cs ) return;
  }
  Fl_Device::font( face, size );
}
void DaoCxx_Fl_Display::gap(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "gap" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::gap( _cs  );
	if( _cs ) return;
  }
  Fl_Device::gap(  );
}
void DaoCxx_Fl_Display::line( int x, int y, int x1, int y1 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::line( _cs, x, y, x1, y1 );
	if( _cs ) return;
  }
  Fl_Device::line( x, y, x1, y1 );
}
void DaoCxx_Fl_Display::line( int x, int y, int x1, int y1, int x2, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::line( _cs, x, y, x1, y1, x2, y2 );
	if( _cs ) return;
  }
  Fl_Device::line( x, y, x1, y1, x2, y2 );
}
void DaoCxx_Fl_Display::line_style( int style, int width, char* dashes )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line_style" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::line_style( _cs, style, width, dashes );
	if( _cs ) return;
  }
  Fl_Device::line_style( style, width, dashes );
}
void DaoCxx_Fl_Display::loop( int x0, int y0, int x1, int y1, int x2, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::loop( _cs, x0, y0, x1, y1, x2, y2 );
	if( _cs ) return;
  }
  Fl_Device::loop( x0, y0, x1, y1, x2, y2 );
}
void DaoCxx_Fl_Display::loop( int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::loop( _cs, x0, y0, x1, y1, x2, y2, x3, y3 );
	if( _cs ) return;
  }
  Fl_Device::loop( x0, y0, x1, y1, x2, y2, x3, y3 );
}
int DaoCxx_Fl_Display::not_clipped( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "not_clipped" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _not_clipped = DaoCxxVirt_Fl_Display::not_clipped( _cs, x, y, w, h );
	if( _cs ) return _not_clipped;
  }
  return Fl_Device::not_clipped( x, y, w, h );
}
void DaoCxx_Fl_Display::pie( int x, int y, int w, int h, double a1, double a2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "pie" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::pie( _cs, x, y, w, h, a1, a2 );
	if( _cs ) return;
  }
  Fl_Device::pie( x, y, w, h, a1, a2 );
}
void DaoCxx_Fl_Display::point( int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "point" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::point( _cs, x, y );
	if( _cs ) return;
  }
  Fl_Device::point( x, y );
}
void DaoCxx_Fl_Display::polygon( int x0, int y0, int x1, int y1, int x2, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::polygon( _cs, x0, y0, x1, y1, x2, y2 );
	if( _cs ) return;
  }
  Fl_Device::polygon( x0, y0, x1, y1, x2, y2 );
}
void DaoCxx_Fl_Display::polygon( int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::polygon( _cs, x0, y0, x1, y1, x2, y2, x3, y3 );
	if( _cs ) return;
  }
  Fl_Device::polygon( x0, y0, x1, y1, x2, y2, x3, y3 );
}
void DaoCxx_Fl_Display::pop_clip(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "pop_clip" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::pop_clip( _cs  );
	if( _cs ) return;
  }
  Fl_Device::pop_clip(  );
}
void DaoCxx_Fl_Display::push_clip( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "push_clip" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::push_clip( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Device::push_clip( x, y, w, h );
}
void DaoCxx_Fl_Display::push_no_clip(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "push_no_clip" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::push_no_clip( _cs  );
	if( _cs ) return;
  }
  Fl_Device::push_no_clip(  );
}
void DaoCxx_Fl_Display::rect( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rect" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::rect( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Device::rect( x, y, w, h );
}
void DaoCxx_Fl_Display::rectf( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rectf" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::rectf( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Device::rectf( x, y, w, h );
}
Fl_Device* DaoCxx_Fl_Display::set_current(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "set_current" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Device* _set_current = DaoCxxVirt_Fl_Display::set_current( _cs  );
	if( _cs ) return _set_current;
  }
  return Fl_Device::set_current(  );
}
void DaoCxx_Fl_Display::transformed_vertex( double x, double y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "transformed_vertex" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::transformed_vertex( _cs, x, y );
	if( _cs ) return;
  }
  Fl_Device::transformed_vertex( x, y );
}
void DaoCxx_Fl_Display::vertex( double x, double y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "vertex" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::vertex( _cs, x, y );
	if( _cs ) return;
  }
  Fl_Device::vertex( x, y );
}
void DaoCxx_Fl_Display::xyline( int x, int y, int x1 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::xyline( _cs, x, y, x1 );
	if( _cs ) return;
  }
  Fl_Device::xyline( x, y, x1 );
}
void DaoCxx_Fl_Display::xyline( int x, int y, int x1, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::xyline( _cs, x, y, x1, y2 );
	if( _cs ) return;
  }
  Fl_Device::xyline( x, y, x1, y2 );
}
void DaoCxx_Fl_Display::xyline( int x, int y, int x1, int y2, int x3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::xyline( _cs, x, y, x1, y2, x3 );
	if( _cs ) return;
  }
  Fl_Device::xyline( x, y, x1, y2, x3 );
}
void DaoCxx_Fl_Display::yxline( int x, int y, int y1 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::yxline( _cs, x, y, y1 );
	if( _cs ) return;
  }
  Fl_Device::yxline( x, y, y1 );
}
void DaoCxx_Fl_Display::yxline( int x, int y, int y1, int x2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::yxline( _cs, x, y, y1, x2 );
	if( _cs ) return;
  }
  Fl_Device::yxline( x, y, y1, x2 );
}
void DaoCxx_Fl_Display::yxline( int x, int y, int y1, int x2, int y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Display::yxline( _cs, x, y, y1, x2, y3 );
	if( _cs ) return;
  }
  Fl_Device::yxline( x, y, y1, x2, y3 );
}


DaoCxx_Fl_Double_Window* DAO_DLL_FLTK DaoCxx_Fl_Double_Window_New( int W, int H, const char* l )
{
	DaoCxx_Fl_Double_Window *self = new DaoCxx_Fl_Double_Window( W, H, l );
	self->DaoInitWrapper();
	return self;
}
DaoCxx_Fl_Double_Window* DAO_DLL_FLTK DaoCxx_Fl_Double_Window_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Double_Window *self = new DaoCxx_Fl_Double_Window( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Double_Window::DaoInitWrapper( Fl_Double_Window *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Window::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Double_Window::~DaoCxx_Fl_Double_Window()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Double_Window::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Double_Window_Typer, this );
	DaoCxxVirt_Fl_Double_Window::DaoInitWrapper( this, cdata );
}
Fl_Window* DaoCxxVirt_Fl_Double_Window::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Window::as_window( _cs  );
}
void DaoCxxVirt_Fl_Double_Window::draw( int &_cs  )
{
   DaoCxxVirt_Fl_Window::draw( _cs  );
}
int DaoCxxVirt_Fl_Double_Window::handle( int &_cs, int _cp0 )
{
  return DaoCxxVirt_Fl_Window::handle( _cs, _cp0 );
}
Fl_Window* DaoCxx_Fl_Double_Window::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Double_Window::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Window::as_window(  );
}
void DaoCxx_Fl_Double_Window::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Double_Window::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Window::draw(  );
}
int DaoCxx_Fl_Double_Window::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Double_Window::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Window::handle( _cp0 );
}
void DaoCxx_Fl_Double_Window::flush(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "flush" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Double_Window::flush( _cs  );
	if( _cs ) return;
  }
  Fl_Double_Window::flush(  );
}
void DaoCxx_Fl_Double_Window::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Double_Window::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Double_Window::hide(  );
}
void DaoCxx_Fl_Double_Window::resize( int _cp0, int _cp1, int _cp2, int _cp3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Window::resize( _cs, _cp0, _cp1, _cp2, _cp3 );
	if( _cs ) return;
  }
  Fl_Double_Window::resize( _cp0, _cp1, _cp2, _cp3 );
}
void DaoCxx_Fl_Double_Window::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Double_Window::show( _cs  );
	if( _cs ) return;
  }
  Fl_Double_Window::show(  );
}


Fl_End* DAO_DLL_FLTK Dao_Fl_End_New(  )
{
	Fl_End *object = new Fl_End(  );
	return object;
}


DaoCxx_Fl_File_Browser* DAO_DLL_FLTK DaoCxx_Fl_File_Browser_New( int _cp0, int _cp1, int _cp2, int _cp3, const char* _cp4 )
{
	DaoCxx_Fl_File_Browser *self = new DaoCxx_Fl_File_Browser( _cp0, _cp1, _cp2, _cp3, _cp4 );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_File_Browser::DaoInitWrapper( Fl_File_Browser *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Browser::DaoInitWrapper( s, d );
}
DaoCxx_Fl_File_Browser::~DaoCxx_Fl_File_Browser()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_File_Browser::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_File_Browser_Typer, this );
	DaoCxxVirt_Fl_File_Browser::DaoInitWrapper( this, cdata );
}


Fl_File_Chooser* DAO_DLL_FLTK Dao_Fl_File_Chooser_New( const char* d, const char* p, int t, const char* title )
{
	Fl_File_Chooser *object = new Fl_File_Chooser( d, p, t, title );
	return object;
}


Fl_File_Icon* DAO_DLL_FLTK Dao_Fl_File_Icon_New( const char* p, int t, int nd, short* d )
{
	Fl_File_Icon *object = new Fl_File_Icon( p, t, nd, d );
	return object;
}


DaoCxx_Fl_Input_* DAO_DLL_FLTK DaoCxx_Fl_Input__New( int _cp0, int _cp1, int _cp2, int _cp3, const char* _cp4 )
{
	DaoCxx_Fl_Input_ *self = new DaoCxx_Fl_Input_( _cp0, _cp1, _cp2, _cp3, _cp4 );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Input_::DaoInitWrapper( Fl_Input_ *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Input_::~DaoCxx_Fl_Input_()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Input_::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Input__Typer, this );
	DaoCxxVirt_Fl_Input_::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Input_::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Fl_Input_::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_Input_::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_Input_::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
void DaoCxxVirt_Fl_Input_::draw( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::draw( _cs  );
}
int DaoCxxVirt_Fl_Input_::handle( int &_cs, int event )
{
  return DaoCxxVirt_Fl_Widget::handle( _cs, event );
}
void DaoCxxVirt_Fl_Input_::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_Input_::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_Input_::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Input_::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_Input_::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Input_::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_Input_::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Input_::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_Input_::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Input_::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
void DaoCxx_Fl_Input_::draw(  )
{
  int _cs = 0;
  return DaoCxxVirt_Fl_Input_::draw( _cs  );
}
int DaoCxx_Fl_Input_::handle( int event )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Input_::handle( _cs, event );
	if( _cs ) return _handle;
  }
  return Fl_Widget::handle( event );
}
void DaoCxx_Fl_Input_::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Input_::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_Input_::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Input_::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}
void DaoCxx_Fl_Input_::resize( int _cp0, int _cp1, int _cp2, int _cp3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Widget::resize( _cs, _cp0, _cp1, _cp2, _cp3 );
	if( _cs ) return;
  }
  Fl_Input_::resize( _cp0, _cp1, _cp2, _cp3 );
}


DaoCxx_Fl_Input* DAO_DLL_FLTK DaoCxx_Fl_Input_New( int _cp0, int _cp1, int _cp2, int _cp3, const char* _cp4 )
{
	DaoCxx_Fl_Input *self = new DaoCxx_Fl_Input( _cp0, _cp1, _cp2, _cp3, _cp4 );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Input::DaoInitWrapper( Fl_Input *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Input_::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Input::~DaoCxx_Fl_Input()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Input::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Input_Typer, this );
	DaoCxxVirt_Fl_Input::DaoInitWrapper( this, cdata );
}
void DaoCxx_Fl_Input::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Input::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Input::draw(  );
}
int DaoCxx_Fl_Input::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Input::handle( _cp0 );
}


DaoCxx_Fl_File_Input* DAO_DLL_FLTK DaoCxx_Fl_File_Input_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_File_Input *self = new DaoCxx_Fl_File_Input( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_File_Input::DaoInitWrapper( Fl_File_Input *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Input::DaoInitWrapper( s, d );
}
DaoCxx_Fl_File_Input::~DaoCxx_Fl_File_Input()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_File_Input::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_File_Input_Typer, this );
	DaoCxxVirt_Fl_File_Input::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_File_Input::draw( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
int DaoCxxVirt_Fl_File_Input::handle( int &_cs, int event )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  int _handle= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _handle;
  return (int)Function_1001b( & _cs, _ro, & _obj, event );
}
void DaoCxx_Fl_File_Input::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_File_Input::draw( _cs  );
	if( _cs ) return;
  }
  Fl_File_Input::draw(  );
}
int DaoCxx_Fl_File_Input::handle( int event )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_File_Input::handle( _cs, event );
	if( _cs ) return _handle;
  }
  return Fl_File_Input::handle( event );
}


DaoCxx_Fl_Fill_Dial* DAO_DLL_FLTK DaoCxx_Fl_Fill_Dial_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Fill_Dial *self = new DaoCxx_Fl_Fill_Dial( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Fill_Dial::DaoInitWrapper( Fl_Fill_Dial *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Dial::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Fill_Dial::~DaoCxx_Fl_Fill_Dial()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Fill_Dial::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Fill_Dial_Typer, this );
	DaoCxxVirt_Fl_Fill_Dial::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Slider* DAO_DLL_FLTK DaoCxx_Fl_Slider_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Slider *self = new DaoCxx_Fl_Slider( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
DaoCxx_Fl_Slider* DAO_DLL_FLTK DaoCxx_Fl_Slider_New( uchar t, int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Slider *self = new DaoCxx_Fl_Slider( t, X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Slider::DaoInitWrapper( Fl_Slider *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Valuator::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Slider::~DaoCxx_Fl_Slider()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Slider::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Slider_Typer, this );
	DaoCxxVirt_Fl_Slider::DaoInitWrapper( this, cdata );
}
int DaoCxxVirt_Fl_Slider::format( int &_cs, char* _cp0 )
{
  return DaoCxxVirt_Fl_Valuator::format( _cs, _cp0 );
}
void DaoCxxVirt_Fl_Slider::value_damage( int &_cs  )
{
   DaoCxxVirt_Fl_Valuator::value_damage( _cs  );
}
int DaoCxx_Fl_Slider::format( char* _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "format" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _format = DaoCxxVirt_Fl_Slider::format( _cs, _cp0 );
	if( _cs ) return _format;
  }
  return Fl_Valuator::format( _cp0 );
}
void DaoCxx_Fl_Slider::value_damage(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "value_damage" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Slider::value_damage( _cs  );
	if( _cs ) return;
  }
  Fl_Valuator::value_damage(  );
}
void DaoCxx_Fl_Slider::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Slider::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Slider::draw(  );
}
int DaoCxx_Fl_Slider::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Slider::handle( _cp0 );
}


DaoCxx_Fl_Fill_Slider* DAO_DLL_FLTK DaoCxx_Fl_Fill_Slider_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Fill_Slider *self = new DaoCxx_Fl_Fill_Slider( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Fill_Slider::DaoInitWrapper( Fl_Fill_Slider *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Slider::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Fill_Slider::~DaoCxx_Fl_Fill_Slider()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Fill_Slider::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Fill_Slider_Typer, this );
	DaoCxxVirt_Fl_Fill_Slider::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Float_Input* DAO_DLL_FLTK DaoCxx_Fl_Float_Input_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Float_Input *self = new DaoCxx_Fl_Float_Input( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Float_Input::DaoInitWrapper( Fl_Float_Input *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Input::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Float_Input::~DaoCxx_Fl_Float_Input()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Float_Input::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Float_Input_Typer, this );
	DaoCxxVirt_Fl_Float_Input::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_FormsBitmap* DAO_DLL_FLTK DaoCxx_Fl_FormsBitmap_New( Fl_Boxtype _cp0, int _cp1, int _cp2, int _cp3, int _cp4, const char* _cp5 )
{
	DaoCxx_Fl_FormsBitmap *self = new DaoCxx_Fl_FormsBitmap( _cp0, _cp1, _cp2, _cp3, _cp4, _cp5 );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_FormsBitmap::DaoInitWrapper( Fl_FormsBitmap *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_FormsBitmap::~DaoCxx_Fl_FormsBitmap()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_FormsBitmap::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_FormsBitmap_Typer, this );
	DaoCxxVirt_Fl_FormsBitmap::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Fl_FormsBitmap::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Fl_FormsBitmap::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_FormsBitmap::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_FormsBitmap::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
int DaoCxxVirt_Fl_FormsBitmap::handle( int &_cs, int event )
{
  return DaoCxxVirt_Fl_Widget::handle( _cs, event );
}
void DaoCxxVirt_Fl_FormsBitmap::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_FormsBitmap::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_FormsBitmap::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_FormsBitmap::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_FormsBitmap::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_FormsBitmap::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_FormsBitmap::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_FormsBitmap::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_FormsBitmap::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_FormsBitmap::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsBitmap::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
int DaoCxx_Fl_FormsBitmap::handle( int event )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_FormsBitmap::handle( _cs, event );
	if( _cs ) return _handle;
  }
  return Fl_Widget::handle( event );
}
void DaoCxx_Fl_FormsBitmap::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsBitmap::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_FormsBitmap::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsBitmap::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Fl_FormsBitmap::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsBitmap::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}
void DaoCxx_Fl_FormsBitmap::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsBitmap::draw( _cs  );
	if( _cs ) return;
  }
  Fl_FormsBitmap::draw(  );
}


DaoCxx_Fl_FormsPixmap* DAO_DLL_FLTK DaoCxx_Fl_FormsPixmap_New( Fl_Boxtype t, int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_FormsPixmap *self = new DaoCxx_Fl_FormsPixmap( t, X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_FormsPixmap::DaoInitWrapper( Fl_FormsPixmap *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_FormsPixmap::~DaoCxx_Fl_FormsPixmap()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_FormsPixmap::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_FormsPixmap_Typer, this );
	DaoCxxVirt_Fl_FormsPixmap::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Fl_FormsPixmap::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Fl_FormsPixmap::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_FormsPixmap::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_FormsPixmap::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
int DaoCxxVirt_Fl_FormsPixmap::handle( int &_cs, int event )
{
  return DaoCxxVirt_Fl_Widget::handle( _cs, event );
}
void DaoCxxVirt_Fl_FormsPixmap::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_FormsPixmap::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_FormsPixmap::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_FormsPixmap::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_FormsPixmap::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_FormsPixmap::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_FormsPixmap::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_FormsPixmap::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_FormsPixmap::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_FormsPixmap::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsPixmap::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
int DaoCxx_Fl_FormsPixmap::handle( int event )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_FormsPixmap::handle( _cs, event );
	if( _cs ) return _handle;
  }
  return Fl_Widget::handle( event );
}
void DaoCxx_Fl_FormsPixmap::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsPixmap::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_FormsPixmap::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsPixmap::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Fl_FormsPixmap::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsPixmap::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}
void DaoCxx_Fl_FormsPixmap::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsPixmap::draw( _cs  );
	if( _cs ) return;
  }
  Fl_FormsPixmap::draw(  );
}


DaoCxx_Fl_FormsText* DAO_DLL_FLTK DaoCxx_Fl_FormsText_New( Fl_Boxtype b, int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_FormsText *self = new DaoCxx_Fl_FormsText( b, X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_FormsText::DaoInitWrapper( Fl_FormsText *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_FormsText::~DaoCxx_Fl_FormsText()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_FormsText::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_FormsText_Typer, this );
	DaoCxxVirt_Fl_FormsText::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Fl_FormsText::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Fl_FormsText::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_FormsText::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_FormsText::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
int DaoCxxVirt_Fl_FormsText::handle( int &_cs, int event )
{
  return DaoCxxVirt_Fl_Widget::handle( _cs, event );
}
void DaoCxxVirt_Fl_FormsText::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_FormsText::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_FormsText::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_FormsText::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_FormsText::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_FormsText::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_FormsText::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_FormsText::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_FormsText::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_FormsText::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsText::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
int DaoCxx_Fl_FormsText::handle( int event )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_FormsText::handle( _cs, event );
	if( _cs ) return _handle;
  }
  return Fl_Widget::handle( event );
}
void DaoCxx_Fl_FormsText::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsText::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_FormsText::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsText::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Fl_FormsText::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsText::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}
void DaoCxx_Fl_FormsText::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_FormsText::draw( _cs  );
	if( _cs ) return;
  }
  Fl_FormsText::draw(  );
}

void DaoCxxVirt_Fl_Free::DaoInitWrapper( Fl_Free *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Free::~DaoCxx_Fl_Free()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Free::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Free_Typer, this );
	DaoCxxVirt_Fl_Free::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Free::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Fl_Free::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_Free::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_Free::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
void DaoCxxVirt_Fl_Free::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_Free::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Free::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_Free::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Free::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_Free::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Free::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_Free::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Free::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_Free::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Free::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
void DaoCxx_Fl_Free::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Free::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_Free::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Free::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Fl_Free::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Free::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}
void DaoCxx_Fl_Free::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Free::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Free::draw(  );
}
int DaoCxx_Fl_Free::handle( int e )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, e );
	if( _cs ) return _handle;
  }
  return Fl_Free::handle( e );
}



Fl_GIF_Image* DAO_DLL_FLTK Dao_Fl_GIF_Image_New( const char* filename )
{
	Fl_GIF_Image *object = new Fl_GIF_Image( filename );
	return object;
}


DaoCxx_Fl_Gl_Window* DAO_DLL_FLTK DaoCxx_Fl_Gl_Window_New( int W, int H, const char* l )
{
	DaoCxx_Fl_Gl_Window *self = new DaoCxx_Fl_Gl_Window( W, H, l );
	self->DaoInitWrapper();
	return self;
}
DaoCxx_Fl_Gl_Window* DAO_DLL_FLTK DaoCxx_Fl_Gl_Window_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Gl_Window *self = new DaoCxx_Fl_Gl_Window( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Gl_Window::DaoInitWrapper( Fl_Gl_Window *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Window::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Gl_Window::~DaoCxx_Fl_Gl_Window()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Gl_Window::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Gl_Window_Typer, this );
	DaoCxxVirt_Fl_Gl_Window::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Gl_Window::as_gl_window( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  Fl_Gl_Window* _as_gl_window = NULL;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _as_gl_window;
  return (Fl_Gl_Window*)Function_1004c( & _cs, _ro, & _obj );
}
void DaoCxxVirt_Fl_Gl_Window::draw( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
Fl_Window* DaoCxxVirt_Fl_Gl_Window::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Window::as_window( _cs  );
}
int DaoCxxVirt_Fl_Gl_Window::handle( int &_cs, int _cp0 )
{
  return DaoCxxVirt_Fl_Window::handle( _cs, _cp0 );
}
Fl_Gl_Window* DaoCxx_Fl_Gl_Window::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Gl_Window::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Gl_Window::as_gl_window(  );
}
Fl_Window* DaoCxx_Fl_Gl_Window::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Gl_Window::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Window::as_window(  );
}
void DaoCxx_Fl_Gl_Window::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Gl_Window::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Gl_Window::draw(  );
}
int DaoCxx_Fl_Gl_Window::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Gl_Window::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Window::handle( _cp0 );
}
void DaoCxx_Fl_Gl_Window::flush(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "flush" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Gl_Window::flush( _cs  );
	if( _cs ) return;
  }
  Fl_Gl_Window::flush(  );
}
void DaoCxx_Fl_Gl_Window::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Gl_Window::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Gl_Window::hide(  );
}
void DaoCxx_Fl_Gl_Window::resize( int _cp0, int _cp1, int _cp2, int _cp3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Window::resize( _cs, _cp0, _cp1, _cp2, _cp3 );
	if( _cs ) return;
  }
  Fl_Gl_Window::resize( _cp0, _cp1, _cp2, _cp3 );
}
void DaoCxx_Fl_Gl_Window::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Gl_Window::show( _cs  );
	if( _cs ) return;
  }
  Fl_Gl_Window::show(  );
}

Fl_Glut_Bitmap_Font* Dao_Fl_Glut_Bitmap_Font_New()
{
	Fl_Glut_Bitmap_Font *self = new Fl_Glut_Bitmap_Font();
	return self;
}

Fl_Glut_StrokeChar* Dao_Fl_Glut_StrokeChar_New()
{
	Fl_Glut_StrokeChar *self = new Fl_Glut_StrokeChar();
	return self;
}

Fl_Glut_StrokeFont* Dao_Fl_Glut_StrokeFont_New()
{
	Fl_Glut_StrokeFont *self = new Fl_Glut_StrokeFont();
	return self;
}

Fl_Glut_StrokeStrip* Dao_Fl_Glut_StrokeStrip_New()
{
	Fl_Glut_StrokeStrip *self = new Fl_Glut_StrokeStrip();
	return self;
}

Fl_Glut_StrokeVertex* Dao_Fl_Glut_StrokeVertex_New()
{
	Fl_Glut_StrokeVertex *self = new Fl_Glut_StrokeVertex();
	return self;
}


DaoCxx_Fl_Glut_Window* DAO_DLL_FLTK DaoCxx_Fl_Glut_Window_New( int w, int h, const char* _cp2 )
{
	DaoCxx_Fl_Glut_Window *self = new DaoCxx_Fl_Glut_Window( w, h, _cp2 );
	self->DaoInitWrapper();
	return self;
}
DaoCxx_Fl_Glut_Window* DAO_DLL_FLTK DaoCxx_Fl_Glut_Window_New( int x, int y, int w, int h, const char* _cp4 )
{
	DaoCxx_Fl_Glut_Window *self = new DaoCxx_Fl_Glut_Window( x, y, w, h, _cp4 );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Glut_Window::DaoInitWrapper( Fl_Glut_Window *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Gl_Window::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Glut_Window::~DaoCxx_Fl_Glut_Window()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Glut_Window::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Glut_Window_Typer, this );
	DaoCxxVirt_Fl_Glut_Window::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Glut_Window::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Gl_Window::as_gl_window( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_Glut_Window::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Glut_Window::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Gl_Window::as_gl_window(  );
}
void DaoCxx_Fl_Glut_Window::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Glut_Window::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Glut_Window::draw(  );
}
int DaoCxx_Fl_Glut_Window::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Window::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Glut_Window::handle( _cp0 );
}

Fl_Help_Block* Dao_Fl_Help_Block_New()
{
	Fl_Help_Block *self = new Fl_Help_Block();
	return self;
}


Fl_Help_Dialog* DAO_DLL_FLTK Dao_Fl_Help_Dialog_New(  )
{
	Fl_Help_Dialog *object = new Fl_Help_Dialog(  );
	return object;
}


Fl_Help_Font_Stack* DAO_DLL_FLTK Dao_Fl_Help_Font_Stack_New(  )
{
	Fl_Help_Font_Stack *object = new Fl_Help_Font_Stack(  );
	return object;
}


Fl_Help_Font_Style* DAO_DLL_FLTK Dao_Fl_Help_Font_Style_New(  )
{
	Fl_Help_Font_Style *object = new Fl_Help_Font_Style(  );
	return object;
}
Fl_Help_Font_Style* DAO_DLL_FLTK Dao_Fl_Help_Font_Style_New( Fl_Font afont, Fl_Fontsize asize, Fl_Color acolor )
{
	Fl_Help_Font_Style *object = new Fl_Help_Font_Style( afont, asize, acolor );
	return object;
}

Fl_Help_Link* Dao_Fl_Help_Link_New()
{
	Fl_Help_Link *self = new Fl_Help_Link();
	return self;
}

Fl_Help_Target* Dao_Fl_Help_Target_New()
{
	Fl_Help_Target *self = new Fl_Help_Target();
	return self;
}


DaoCxx_Fl_Help_View* DAO_DLL_FLTK DaoCxx_Fl_Help_View_New( int xx, int yy, int ww, int hh, const char* l )
{
	DaoCxx_Fl_Help_View *self = new DaoCxx_Fl_Help_View( xx, yy, ww, hh, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Help_View::DaoInitWrapper( Fl_Help_View *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Group::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Help_View::~DaoCxx_Fl_Help_View()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Help_View::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Help_View_Typer, this );
	DaoCxxVirt_Fl_Help_View::DaoInitWrapper( this, cdata );
}
Fl_Group* DaoCxxVirt_Fl_Help_View::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Group::as_group( _cs  );
}
Fl_Group* DaoCxx_Fl_Help_View::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Help_View::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}
void DaoCxx_Fl_Help_View::resize( int _cp0, int _cp1, int _cp2, int _cp3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Widget::resize( _cs, _cp0, _cp1, _cp2, _cp3 );
	if( _cs ) return;
  }
  Fl_Help_View::resize( _cp0, _cp1, _cp2, _cp3 );
}


DaoCxx_Fl_Hold_Browser* DAO_DLL_FLTK DaoCxx_Fl_Hold_Browser_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Hold_Browser *self = new DaoCxx_Fl_Hold_Browser( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Hold_Browser::DaoInitWrapper( Fl_Hold_Browser *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Browser::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Hold_Browser::~DaoCxx_Fl_Hold_Browser()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Hold_Browser::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Hold_Browser_Typer, this );
	DaoCxxVirt_Fl_Hold_Browser::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Hor_Fill_Slider* DAO_DLL_FLTK DaoCxx_Fl_Hor_Fill_Slider_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Hor_Fill_Slider *self = new DaoCxx_Fl_Hor_Fill_Slider( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Hor_Fill_Slider::DaoInitWrapper( Fl_Hor_Fill_Slider *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Slider::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Hor_Fill_Slider::~DaoCxx_Fl_Hor_Fill_Slider()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Hor_Fill_Slider::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Hor_Fill_Slider_Typer, this );
	DaoCxxVirt_Fl_Hor_Fill_Slider::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Hor_Nice_Slider* DAO_DLL_FLTK DaoCxx_Fl_Hor_Nice_Slider_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Hor_Nice_Slider *self = new DaoCxx_Fl_Hor_Nice_Slider( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Hor_Nice_Slider::DaoInitWrapper( Fl_Hor_Nice_Slider *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Slider::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Hor_Nice_Slider::~DaoCxx_Fl_Hor_Nice_Slider()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Hor_Nice_Slider::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Hor_Nice_Slider_Typer, this );
	DaoCxxVirt_Fl_Hor_Nice_Slider::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Hor_Slider* DAO_DLL_FLTK DaoCxx_Fl_Hor_Slider_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Hor_Slider *self = new DaoCxx_Fl_Hor_Slider( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Hor_Slider::DaoInitWrapper( Fl_Hor_Slider *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Slider::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Hor_Slider::~DaoCxx_Fl_Hor_Slider()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Hor_Slider::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Hor_Slider_Typer, this );
	DaoCxxVirt_Fl_Hor_Slider::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Value_Slider* DAO_DLL_FLTK DaoCxx_Fl_Value_Slider_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Value_Slider *self = new DaoCxx_Fl_Value_Slider( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Value_Slider::DaoInitWrapper( Fl_Value_Slider *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Slider::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Value_Slider::~DaoCxx_Fl_Value_Slider()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Value_Slider::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Value_Slider_Typer, this );
	DaoCxxVirt_Fl_Value_Slider::DaoInitWrapper( this, cdata );
}
void DaoCxx_Fl_Value_Slider::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Value_Slider::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Value_Slider::draw(  );
}
int DaoCxx_Fl_Value_Slider::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Value_Slider::handle( _cp0 );
}


DaoCxx_Fl_Hor_Value_Slider* DAO_DLL_FLTK DaoCxx_Fl_Hor_Value_Slider_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Hor_Value_Slider *self = new DaoCxx_Fl_Hor_Value_Slider( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Hor_Value_Slider::DaoInitWrapper( Fl_Hor_Value_Slider *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Value_Slider::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Hor_Value_Slider::~DaoCxx_Fl_Hor_Value_Slider()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Hor_Value_Slider::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Hor_Value_Slider_Typer, this );
	DaoCxxVirt_Fl_Hor_Value_Slider::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Input_Choice* DAO_DLL_FLTK DaoCxx_Fl_Input_Choice_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Input_Choice *self = new DaoCxx_Fl_Input_Choice( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Input_Choice::DaoInitWrapper( Fl_Input_Choice *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Group::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Input_Choice::~DaoCxx_Fl_Input_Choice()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Input_Choice::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Input_Choice_Typer, this );
	DaoCxxVirt_Fl_Input_Choice::DaoInitWrapper( this, cdata );
}
Fl_Group* DaoCxxVirt_Fl_Input_Choice::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Group::as_group( _cs  );
}
Fl_Group* DaoCxx_Fl_Input_Choice::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Input_Choice::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}
void DaoCxx_Fl_Input_Choice::resize( int X, int Y, int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Widget::resize( _cs, X, Y, W, H );
	if( _cs ) return;
  }
  Fl_Input_Choice::resize( X, Y, W, H );
}



DaoCxx_Fl_Int_Input* DAO_DLL_FLTK DaoCxx_Fl_Int_Input_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Int_Input *self = new DaoCxx_Fl_Int_Input( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Int_Input::DaoInitWrapper( Fl_Int_Input *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Input::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Int_Input::~DaoCxx_Fl_Int_Input()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Int_Input::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Int_Input_Typer, this );
	DaoCxxVirt_Fl_Int_Input::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_JPEG_Image* DAO_DLL_FLTK DaoCxx_Fl_JPEG_Image_New( const char* filename )
{
	DaoCxx_Fl_JPEG_Image *self = new DaoCxx_Fl_JPEG_Image( filename );
	self->DaoInitWrapper();
	return self;
}
DaoCxx_Fl_JPEG_Image* DAO_DLL_FLTK DaoCxx_Fl_JPEG_Image_New( const char* name, const unsigned char* data )
{
	DaoCxx_Fl_JPEG_Image *self = new DaoCxx_Fl_JPEG_Image( name, data );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_JPEG_Image::DaoInitWrapper( Fl_JPEG_Image *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_RGB_Image::DaoInitWrapper( s, d );
}
DaoCxx_Fl_JPEG_Image::~DaoCxx_Fl_JPEG_Image()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_JPEG_Image::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_JPEG_Image_Typer, this );
	DaoCxxVirt_Fl_JPEG_Image::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_JPEG_Image::color_average( int &_cs, Fl_Color c, float i )
{
   DaoCxxVirt_Fl_RGB_Image::color_average( _cs, c, i );
}
Fl_Image* DaoCxxVirt_Fl_JPEG_Image::copy( int &_cs, int W, int H )
{
  return DaoCxxVirt_Fl_RGB_Image::copy( _cs, W, H );
}
void DaoCxxVirt_Fl_JPEG_Image::desaturate( int &_cs  )
{
   DaoCxxVirt_Fl_RGB_Image::desaturate( _cs  );
}
void DaoCxxVirt_Fl_JPEG_Image::draw( int &_cs, int X, int Y, int W, int H, int cx, int cy )
{
   DaoCxxVirt_Fl_RGB_Image::draw( _cs, X, Y, W, H, cx, cy );
}
void DaoCxxVirt_Fl_JPEG_Image::label( int &_cs, Fl_Menu_Item* m )
{
   DaoCxxVirt_Fl_RGB_Image::label( _cs, m );
}
void DaoCxxVirt_Fl_JPEG_Image::label( int &_cs, Fl_Widget* w )
{
   DaoCxxVirt_Fl_RGB_Image::label( _cs, w );
}
void DaoCxxVirt_Fl_JPEG_Image::uncache( int &_cs  )
{
   DaoCxxVirt_Fl_RGB_Image::uncache( _cs  );
}
void DaoCxx_Fl_JPEG_Image::color_average( Fl_Color c, float i )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color_average" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_JPEG_Image::color_average( _cs, c, i );
	if( _cs ) return;
  }
  Fl_RGB_Image::color_average( c, i );
}
Fl_Image* DaoCxx_Fl_JPEG_Image::copy( int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Image* _copy = DaoCxxVirt_Fl_JPEG_Image::copy( _cs, W, H );
	if( _cs ) return _copy;
  }
  return Fl_RGB_Image::copy( W, H );
}
void DaoCxx_Fl_JPEG_Image::desaturate(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "desaturate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_JPEG_Image::desaturate( _cs  );
	if( _cs ) return;
  }
  Fl_RGB_Image::desaturate(  );
}
void DaoCxx_Fl_JPEG_Image::draw( int X, int Y, int W, int H, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_JPEG_Image::draw( _cs, X, Y, W, H, cx, cy );
	if( _cs ) return;
  }
  Fl_RGB_Image::draw( X, Y, W, H, cx, cy );
}
void DaoCxx_Fl_JPEG_Image::label( Fl_Menu_Item* m )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_JPEG_Image::label( _cs, m );
	if( _cs ) return;
  }
  Fl_RGB_Image::label( m );
}
void DaoCxx_Fl_JPEG_Image::label( Fl_Widget* w )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_JPEG_Image::label( _cs, w );
	if( _cs ) return;
  }
  Fl_RGB_Image::label( w );
}
void DaoCxx_Fl_JPEG_Image::uncache(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "uncache" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_JPEG_Image::uncache( _cs  );
	if( _cs ) return;
  }
  Fl_RGB_Image::uncache(  );
}

Fl_Label* Dao_Fl_Label_New()
{
	Fl_Label *self = new Fl_Label();
	return self;
}


DaoCxx_Fl_Line_Dial* DAO_DLL_FLTK DaoCxx_Fl_Line_Dial_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Line_Dial *self = new DaoCxx_Fl_Line_Dial( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Line_Dial::DaoInitWrapper( Fl_Line_Dial *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Dial::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Line_Dial::~DaoCxx_Fl_Line_Dial()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Line_Dial::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Line_Dial_Typer, this );
	DaoCxxVirt_Fl_Line_Dial::DaoInitWrapper( this, cdata );
}


Fl_Menu_Item* Dao_Fl_Menu_Item_New()
{
	Fl_Menu_Item *self = new Fl_Menu_Item();
	return self;
}


DaoCxx_Fl_Menu_Bar* DAO_DLL_FLTK DaoCxx_Fl_Menu_Bar_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Menu_Bar *self = new DaoCxx_Fl_Menu_Bar( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Menu_Bar::DaoInitWrapper( Fl_Menu_Bar *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Menu_::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Menu_Bar::~DaoCxx_Fl_Menu_Bar()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Menu_Bar::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Menu_Bar_Typer, this );
	DaoCxxVirt_Fl_Menu_Bar::DaoInitWrapper( this, cdata );
}
void DaoCxx_Fl_Menu_Bar::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Menu_Bar::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Menu_Bar::draw(  );
}
int DaoCxx_Fl_Menu_Bar::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Menu_Bar::handle( _cp0 );
}


DaoCxx_Fl_Menu_Button* DAO_DLL_FLTK DaoCxx_Fl_Menu_Button_New( int _cp0, int _cp1, int _cp2, int _cp3, const char* _cp4 )
{
	DaoCxx_Fl_Menu_Button *self = new DaoCxx_Fl_Menu_Button( _cp0, _cp1, _cp2, _cp3, _cp4 );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Menu_Button::DaoInitWrapper( Fl_Menu_Button *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Menu_::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Menu_Button::~DaoCxx_Fl_Menu_Button()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Menu_Button::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Menu_Button_Typer, this );
	DaoCxxVirt_Fl_Menu_Button::DaoInitWrapper( this, cdata );
}
void DaoCxx_Fl_Menu_Button::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Menu_Button::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Menu_Button::draw(  );
}
int DaoCxx_Fl_Menu_Button::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Menu_Button::handle( _cp0 );
}


DaoCxx_Fl_Single_Window* DAO_DLL_FLTK DaoCxx_Fl_Single_Window_New( int W, int H, const char* l )
{
	DaoCxx_Fl_Single_Window *self = new DaoCxx_Fl_Single_Window( W, H, l );
	self->DaoInitWrapper();
	return self;
}
DaoCxx_Fl_Single_Window* DAO_DLL_FLTK DaoCxx_Fl_Single_Window_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Single_Window *self = new DaoCxx_Fl_Single_Window( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Single_Window::DaoInitWrapper( Fl_Single_Window *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Window::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Single_Window::~DaoCxx_Fl_Single_Window()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Single_Window::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Single_Window_Typer, this );
	DaoCxxVirt_Fl_Single_Window::DaoInitWrapper( this, cdata );
}
Fl_Window* DaoCxxVirt_Fl_Single_Window::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Window::as_window( _cs  );
}
void DaoCxxVirt_Fl_Single_Window::draw( int &_cs  )
{
   DaoCxxVirt_Fl_Window::draw( _cs  );
}
int DaoCxxVirt_Fl_Single_Window::handle( int &_cs, int _cp0 )
{
  return DaoCxxVirt_Fl_Window::handle( _cs, _cp0 );
}
void DaoCxxVirt_Fl_Single_Window::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Window::hide( _cs  );
}
void DaoCxxVirt_Fl_Single_Window::resize( int &_cs, int _cp0, int _cp1, int _cp2, int _cp3 )
{
   DaoCxxVirt_Fl_Window::resize( _cs, _cp0, _cp1, _cp2, _cp3 );
}
Fl_Window* DaoCxx_Fl_Single_Window::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Single_Window::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Window::as_window(  );
}
void DaoCxx_Fl_Single_Window::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Single_Window::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Window::draw(  );
}
int DaoCxx_Fl_Single_Window::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Single_Window::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Window::handle( _cp0 );
}
void DaoCxx_Fl_Single_Window::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Single_Window::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Window::hide(  );
}
void DaoCxx_Fl_Single_Window::resize( int _cp0, int _cp1, int _cp2, int _cp3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Single_Window::resize( _cs, _cp0, _cp1, _cp2, _cp3 );
	if( _cs ) return;
  }
  Fl_Window::resize( _cp0, _cp1, _cp2, _cp3 );
}
void DaoCxx_Fl_Single_Window::flush(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "flush" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Single_Window::flush( _cs  );
	if( _cs ) return;
  }
  Fl_Single_Window::flush(  );
}
void DaoCxx_Fl_Single_Window::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Single_Window::show( _cs  );
	if( _cs ) return;
  }
  Fl_Single_Window::show(  );
}


DaoCxx_Fl_Menu_Window* DAO_DLL_FLTK DaoCxx_Fl_Menu_Window_New( int W, int H, const char* l )
{
	DaoCxx_Fl_Menu_Window *self = new DaoCxx_Fl_Menu_Window( W, H, l );
	self->DaoInitWrapper();
	return self;
}
DaoCxx_Fl_Menu_Window* DAO_DLL_FLTK DaoCxx_Fl_Menu_Window_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Menu_Window *self = new DaoCxx_Fl_Menu_Window( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Menu_Window::DaoInitWrapper( Fl_Menu_Window *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Single_Window::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Menu_Window::~DaoCxx_Fl_Menu_Window()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Menu_Window::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Menu_Window_Typer, this );
	DaoCxxVirt_Fl_Menu_Window::DaoInitWrapper( this, cdata );
}
void DaoCxx_Fl_Menu_Window::flush(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "flush" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Menu_Window::flush( _cs  );
	if( _cs ) return;
  }
  Fl_Menu_Window::flush(  );
}
void DaoCxx_Fl_Menu_Window::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Menu_Window::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Menu_Window::hide(  );
}
void DaoCxx_Fl_Menu_Window::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Menu_Window::show( _cs  );
	if( _cs ) return;
  }
  Fl_Menu_Window::show(  );
}


DaoCxx_Fl_Multi_Browser* DAO_DLL_FLTK DaoCxx_Fl_Multi_Browser_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Multi_Browser *self = new DaoCxx_Fl_Multi_Browser( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Multi_Browser::DaoInitWrapper( Fl_Multi_Browser *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Browser::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Multi_Browser::~DaoCxx_Fl_Multi_Browser()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Multi_Browser::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Multi_Browser_Typer, this );
	DaoCxxVirt_Fl_Multi_Browser::DaoInitWrapper( this, cdata );
}

Fl_Multi_Label* Dao_Fl_Multi_Label_New()
{
	Fl_Multi_Label *self = new Fl_Multi_Label();
	return self;
}


DaoCxx_Fl_Multiline_Input* DAO_DLL_FLTK DaoCxx_Fl_Multiline_Input_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Multiline_Input *self = new DaoCxx_Fl_Multiline_Input( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Multiline_Input::DaoInitWrapper( Fl_Multiline_Input *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Input::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Multiline_Input::~DaoCxx_Fl_Multiline_Input()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Multiline_Input::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Multiline_Input_Typer, this );
	DaoCxxVirt_Fl_Multiline_Input::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Output* DAO_DLL_FLTK DaoCxx_Fl_Output_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Output *self = new DaoCxx_Fl_Output( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Output::DaoInitWrapper( Fl_Output *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Input::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Output::~DaoCxx_Fl_Output()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Output::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Output_Typer, this );
	DaoCxxVirt_Fl_Output::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Multiline_Output* DAO_DLL_FLTK DaoCxx_Fl_Multiline_Output_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Multiline_Output *self = new DaoCxx_Fl_Multiline_Output( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Multiline_Output::DaoInitWrapper( Fl_Multiline_Output *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Output::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Multiline_Output::~DaoCxx_Fl_Multiline_Output()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Multiline_Output::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Multiline_Output_Typer, this );
	DaoCxxVirt_Fl_Multiline_Output::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Nice_Slider* DAO_DLL_FLTK DaoCxx_Fl_Nice_Slider_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Nice_Slider *self = new DaoCxx_Fl_Nice_Slider( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Nice_Slider::DaoInitWrapper( Fl_Nice_Slider *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Slider::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Nice_Slider::~DaoCxx_Fl_Nice_Slider()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Nice_Slider::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Nice_Slider_Typer, this );
	DaoCxxVirt_Fl_Nice_Slider::DaoInitWrapper( this, cdata );
}



DaoCxx_Fl_PNG_Image* DAO_DLL_FLTK DaoCxx_Fl_PNG_Image_New( const char* filename )
{
	DaoCxx_Fl_PNG_Image *self = new DaoCxx_Fl_PNG_Image( filename );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_PNG_Image::DaoInitWrapper( Fl_PNG_Image *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_RGB_Image::DaoInitWrapper( s, d );
}
DaoCxx_Fl_PNG_Image::~DaoCxx_Fl_PNG_Image()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_PNG_Image::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_PNG_Image_Typer, this );
	DaoCxxVirt_Fl_PNG_Image::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_PNG_Image::color_average( int &_cs, Fl_Color c, float i )
{
   DaoCxxVirt_Fl_RGB_Image::color_average( _cs, c, i );
}
Fl_Image* DaoCxxVirt_Fl_PNG_Image::copy( int &_cs, int W, int H )
{
  return DaoCxxVirt_Fl_RGB_Image::copy( _cs, W, H );
}
void DaoCxxVirt_Fl_PNG_Image::desaturate( int &_cs  )
{
   DaoCxxVirt_Fl_RGB_Image::desaturate( _cs  );
}
void DaoCxxVirt_Fl_PNG_Image::draw( int &_cs, int X, int Y, int W, int H, int cx, int cy )
{
   DaoCxxVirt_Fl_RGB_Image::draw( _cs, X, Y, W, H, cx, cy );
}
void DaoCxxVirt_Fl_PNG_Image::label( int &_cs, Fl_Menu_Item* m )
{
   DaoCxxVirt_Fl_RGB_Image::label( _cs, m );
}
void DaoCxxVirt_Fl_PNG_Image::label( int &_cs, Fl_Widget* w )
{
   DaoCxxVirt_Fl_RGB_Image::label( _cs, w );
}
void DaoCxxVirt_Fl_PNG_Image::uncache( int &_cs  )
{
   DaoCxxVirt_Fl_RGB_Image::uncache( _cs  );
}
void DaoCxx_Fl_PNG_Image::color_average( Fl_Color c, float i )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color_average" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PNG_Image::color_average( _cs, c, i );
	if( _cs ) return;
  }
  Fl_RGB_Image::color_average( c, i );
}
Fl_Image* DaoCxx_Fl_PNG_Image::copy( int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Image* _copy = DaoCxxVirt_Fl_PNG_Image::copy( _cs, W, H );
	if( _cs ) return _copy;
  }
  return Fl_RGB_Image::copy( W, H );
}
void DaoCxx_Fl_PNG_Image::desaturate(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "desaturate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PNG_Image::desaturate( _cs  );
	if( _cs ) return;
  }
  Fl_RGB_Image::desaturate(  );
}
void DaoCxx_Fl_PNG_Image::draw( int X, int Y, int W, int H, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PNG_Image::draw( _cs, X, Y, W, H, cx, cy );
	if( _cs ) return;
  }
  Fl_RGB_Image::draw( X, Y, W, H, cx, cy );
}
void DaoCxx_Fl_PNG_Image::label( Fl_Menu_Item* m )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PNG_Image::label( _cs, m );
	if( _cs ) return;
  }
  Fl_RGB_Image::label( m );
}
void DaoCxx_Fl_PNG_Image::label( Fl_Widget* w )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PNG_Image::label( _cs, w );
	if( _cs ) return;
  }
  Fl_RGB_Image::label( w );
}
void DaoCxx_Fl_PNG_Image::uncache(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "uncache" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PNG_Image::uncache( _cs  );
	if( _cs ) return;
  }
  Fl_RGB_Image::uncache(  );
}


DaoCxx_Fl_PNM_Image* DAO_DLL_FLTK DaoCxx_Fl_PNM_Image_New( const char* filename )
{
	DaoCxx_Fl_PNM_Image *self = new DaoCxx_Fl_PNM_Image( filename );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_PNM_Image::DaoInitWrapper( Fl_PNM_Image *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_RGB_Image::DaoInitWrapper( s, d );
}
DaoCxx_Fl_PNM_Image::~DaoCxx_Fl_PNM_Image()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_PNM_Image::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_PNM_Image_Typer, this );
	DaoCxxVirt_Fl_PNM_Image::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_PNM_Image::color_average( int &_cs, Fl_Color c, float i )
{
   DaoCxxVirt_Fl_RGB_Image::color_average( _cs, c, i );
}
Fl_Image* DaoCxxVirt_Fl_PNM_Image::copy( int &_cs, int W, int H )
{
  return DaoCxxVirt_Fl_RGB_Image::copy( _cs, W, H );
}
void DaoCxxVirt_Fl_PNM_Image::desaturate( int &_cs  )
{
   DaoCxxVirt_Fl_RGB_Image::desaturate( _cs  );
}
void DaoCxxVirt_Fl_PNM_Image::draw( int &_cs, int X, int Y, int W, int H, int cx, int cy )
{
   DaoCxxVirt_Fl_RGB_Image::draw( _cs, X, Y, W, H, cx, cy );
}
void DaoCxxVirt_Fl_PNM_Image::label( int &_cs, Fl_Menu_Item* m )
{
   DaoCxxVirt_Fl_RGB_Image::label( _cs, m );
}
void DaoCxxVirt_Fl_PNM_Image::label( int &_cs, Fl_Widget* w )
{
   DaoCxxVirt_Fl_RGB_Image::label( _cs, w );
}
void DaoCxxVirt_Fl_PNM_Image::uncache( int &_cs  )
{
   DaoCxxVirt_Fl_RGB_Image::uncache( _cs  );
}
void DaoCxx_Fl_PNM_Image::color_average( Fl_Color c, float i )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color_average" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PNM_Image::color_average( _cs, c, i );
	if( _cs ) return;
  }
  Fl_RGB_Image::color_average( c, i );
}
Fl_Image* DaoCxx_Fl_PNM_Image::copy( int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Image* _copy = DaoCxxVirt_Fl_PNM_Image::copy( _cs, W, H );
	if( _cs ) return _copy;
  }
  return Fl_RGB_Image::copy( W, H );
}
void DaoCxx_Fl_PNM_Image::desaturate(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "desaturate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PNM_Image::desaturate( _cs  );
	if( _cs ) return;
  }
  Fl_RGB_Image::desaturate(  );
}
void DaoCxx_Fl_PNM_Image::draw( int X, int Y, int W, int H, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PNM_Image::draw( _cs, X, Y, W, H, cx, cy );
	if( _cs ) return;
  }
  Fl_RGB_Image::draw( X, Y, W, H, cx, cy );
}
void DaoCxx_Fl_PNM_Image::label( Fl_Menu_Item* m )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PNM_Image::label( _cs, m );
	if( _cs ) return;
  }
  Fl_RGB_Image::label( m );
}
void DaoCxx_Fl_PNM_Image::label( Fl_Widget* w )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PNM_Image::label( _cs, w );
	if( _cs ) return;
  }
  Fl_RGB_Image::label( w );
}
void DaoCxx_Fl_PNM_Image::uncache(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "uncache" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PNM_Image::uncache( _cs  );
	if( _cs ) return;
  }
  Fl_RGB_Image::uncache(  );
}


DaoCxx_Fl_PSfile_Device* DAO_DLL_FLTK DaoCxx_Fl_PSfile_Device_New(  )
{
	DaoCxx_Fl_PSfile_Device *self = new DaoCxx_Fl_PSfile_Device(  );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_PSfile_Device::DaoInitWrapper( Fl_PSfile_Device *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Abstract_Printer::DaoInitWrapper( s, d );
}
DaoCxx_Fl_PSfile_Device::~DaoCxx_Fl_PSfile_Device()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_PSfile_Device::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_PSfile_Device_Typer, this );
	DaoCxxVirt_Fl_PSfile_Device::DaoInitWrapper( this, cdata );
}
Fl_PSfile_Device* DAO_DLL_FLTK Dao_Fl_PSfile_Device_Copy( const Fl_PSfile_Device &p )
{
	Fl_PSfile_Device *object = new Fl_PSfile_Device( p );
	return object;
}
int DaoCxxVirt_Fl_PSfile_Device::start_job( int &_cs, int pagecount, int* frompage, int* topage )
{
  return DaoCxxVirt_Fl_Abstract_Printer::start_job( _cs, pagecount, frompage, topage );
}
int DaoCxx_Fl_PSfile_Device::start_job( int pagecount, int* frompage, int* topage )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "start_job" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _start_job = DaoCxxVirt_Fl_PSfile_Device::start_job( _cs, pagecount, frompage, topage );
	if( _cs ) return _start_job;
  }
  return Fl_Abstract_Printer::start_job( pagecount, frompage, topage );
}
void DaoCxx_Fl_PSfile_Device::arc( double x, double y, double r, double start, double a )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "arc" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::arc( _cs, x, y, r, start, a );
	if( _cs ) return;
  }
  Fl_PSfile_Device::arc( x, y, r, start, a );
}
void DaoCxx_Fl_PSfile_Device::arc( int x, int y, int w, int h, double a1, double a2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "arc" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::arc( _cs, x, y, w, h, a1, a2 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::arc( x, y, w, h, a1, a2 );
}
void DaoCxx_Fl_PSfile_Device::begin_complex_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_complex_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::begin_complex_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::begin_complex_polygon(  );
}
void DaoCxx_Fl_PSfile_Device::begin_line(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::begin_line( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::begin_line(  );
}
void DaoCxx_Fl_PSfile_Device::begin_loop(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::begin_loop( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::begin_loop(  );
}
void DaoCxx_Fl_PSfile_Device::begin_points(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_points" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::begin_points( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::begin_points(  );
}
void DaoCxx_Fl_PSfile_Device::begin_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "begin_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::begin_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::begin_polygon(  );
}
void DaoCxx_Fl_PSfile_Device::circle( double x, double y, double r )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "circle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::circle( _cs, x, y, r );
	if( _cs ) return;
  }
  Fl_PSfile_Device::circle( x, y, r );
}
int DaoCxx_Fl_PSfile_Device::clip_box( int x, int y, int w, int h, int& X, int& Y, int& W, int& H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "clip_box" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _clip_box = DaoCxxVirt_Fl_Device::clip_box( _cs, x, y, w, h, X, Y, W, H );
	if( _cs ) return _clip_box;
  }
  return Fl_PSfile_Device::clip_box( x, y, w, h, X, Y, W, H );
}
void DaoCxx_Fl_PSfile_Device::color( Fl_Color c )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::color( _cs, c );
	if( _cs ) return;
  }
  Fl_PSfile_Device::color( c );
}
void DaoCxx_Fl_PSfile_Device::color( uchar r, uchar g, uchar b )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::color( _cs, r, g, b );
	if( _cs ) return;
  }
  Fl_PSfile_Device::color( r, g, b );
}
void DaoCxx_Fl_PSfile_Device::curve( double x, double y, double x1, double y1, double x2, double y2, double x3, double y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "curve" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::curve( _cs, x, y, x1, y1, x2, y2, x3, y3 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::curve( x, y, x1, y1, x2, y2, x3, y3 );
}
void DaoCxx_Fl_PSfile_Device::draw( Fl_Bitmap* bitmap, int XP, int YP, int WP, int HP, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::draw( _cs, bitmap, XP, YP, WP, HP, cx, cy );
	if( _cs ) return;
  }
  Fl_PSfile_Device::draw( bitmap, XP, YP, WP, HP, cx, cy );
}
void DaoCxx_Fl_PSfile_Device::draw( Fl_Pixmap* pxm, int XP, int YP, int WP, int HP, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::draw( _cs, pxm, XP, YP, WP, HP, cx, cy );
	if( _cs ) return;
  }
  Fl_PSfile_Device::draw( pxm, XP, YP, WP, HP, cx, cy );
}
void DaoCxx_Fl_PSfile_Device::draw( Fl_RGB_Image* rgb, int XP, int YP, int WP, int HP, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::draw( _cs, rgb, XP, YP, WP, HP, cx, cy );
	if( _cs ) return;
  }
  Fl_PSfile_Device::draw( rgb, XP, YP, WP, HP, cx, cy );
}
void DaoCxx_Fl_PSfile_Device::draw( const char* s, int n, int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::draw( _cs, s, n, x, y );
	if( _cs ) return;
  }
  Fl_PSfile_Device::draw( s, n, x, y );
}
void DaoCxx_Fl_PSfile_Device::draw( int angle, const char* str, int n, int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::draw( _cs, angle, str, n, x, y );
	if( _cs ) return;
  }
  Fl_PSfile_Device::draw( angle, str, n, x, y );
}
void DaoCxx_Fl_PSfile_Device::draw_image( const uchar* d, int x, int y, int w, int h, int delta, int ldelta )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw_image" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::draw_image( _cs, d, x, y, w, h, delta, ldelta );
	if( _cs ) return;
  }
  Fl_PSfile_Device::draw_image( d, x, y, w, h, delta, ldelta );
}
void DaoCxx_Fl_PSfile_Device::draw_image_mono( const uchar* d, int x, int y, int w, int h, int delta, int ld )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw_image_mono" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::draw_image_mono( _cs, d, x, y, w, h, delta, ld );
	if( _cs ) return;
  }
  Fl_PSfile_Device::draw_image_mono( d, x, y, w, h, delta, ld );
}
void DaoCxx_Fl_PSfile_Device::end_complex_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_complex_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::end_complex_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::end_complex_polygon(  );
}
void DaoCxx_Fl_PSfile_Device::end_job(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_job" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::end_job( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::end_job(  );
}
void DaoCxx_Fl_PSfile_Device::end_line(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::end_line( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::end_line(  );
}
void DaoCxx_Fl_PSfile_Device::end_loop(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::end_loop( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::end_loop(  );
}
int DaoCxx_Fl_PSfile_Device::end_page(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_page" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _end_page = DaoCxxVirt_Fl_PSfile_Device::end_page( _cs  );
	if( _cs ) return _end_page;
  }
  return Fl_PSfile_Device::end_page(  );
}
void DaoCxx_Fl_PSfile_Device::end_points(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_points" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::end_points( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::end_points(  );
}
void DaoCxx_Fl_PSfile_Device::end_polygon(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "end_polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::end_polygon( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::end_polygon(  );
}
void DaoCxx_Fl_PSfile_Device::gap(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "gap" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::gap( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::gap(  );
}
void DaoCxx_Fl_PSfile_Device::line( int x1, int y1, int x2, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::line( _cs, x1, y1, x2, y2 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::line( x1, y1, x2, y2 );
}
void DaoCxx_Fl_PSfile_Device::line( int x1, int y1, int x2, int y2, int x3, int y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::line( _cs, x1, y1, x2, y2, x3, y3 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::line( x1, y1, x2, y2, x3, y3 );
}
void DaoCxx_Fl_PSfile_Device::line_style( int style, int width, char* dashes )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "line_style" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::line_style( _cs, style, width, dashes );
	if( _cs ) return;
  }
  Fl_PSfile_Device::line_style( style, width, dashes );
}
void DaoCxx_Fl_PSfile_Device::loop( int x0, int y0, int x1, int y1, int x2, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::loop( _cs, x0, y0, x1, y1, x2, y2 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::loop( x0, y0, x1, y1, x2, y2 );
}
void DaoCxx_Fl_PSfile_Device::loop( int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "loop" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::loop( _cs, x0, y0, x1, y1, x2, y2, x3, y3 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::loop( x0, y0, x1, y1, x2, y2, x3, y3 );
}
void DaoCxx_Fl_PSfile_Device::margins( int* left, int* top, int* right, int* bottom )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "margins" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::margins( _cs, left, top, right, bottom );
	if( _cs ) return;
  }
  Fl_PSfile_Device::margins( left, top, right, bottom );
}
int DaoCxx_Fl_PSfile_Device::not_clipped( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "not_clipped" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _not_clipped = DaoCxxVirt_Fl_Device::not_clipped( _cs, x, y, w, h );
	if( _cs ) return _not_clipped;
  }
  return Fl_PSfile_Device::not_clipped( x, y, w, h );
}
void DaoCxx_Fl_PSfile_Device::origin( int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "origin" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::origin( _cs, x, y );
	if( _cs ) return;
  }
  Fl_PSfile_Device::origin( x, y );
}
void DaoCxx_Fl_PSfile_Device::pie( int x, int y, int w, int h, double a1, double a2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "pie" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::pie( _cs, x, y, w, h, a1, a2 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::pie( x, y, w, h, a1, a2 );
}
void DaoCxx_Fl_PSfile_Device::point( int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "point" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::point( _cs, x, y );
	if( _cs ) return;
  }
  Fl_PSfile_Device::point( x, y );
}
void DaoCxx_Fl_PSfile_Device::polygon( int x0, int y0, int x1, int y1, int x2, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::polygon( _cs, x0, y0, x1, y1, x2, y2 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::polygon( x0, y0, x1, y1, x2, y2 );
}
void DaoCxx_Fl_PSfile_Device::polygon( int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "polygon" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::polygon( _cs, x0, y0, x1, y1, x2, y2, x3, y3 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::polygon( x0, y0, x1, y1, x2, y2, x3, y3 );
}
void DaoCxx_Fl_PSfile_Device::pop_clip(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "pop_clip" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::pop_clip( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::pop_clip(  );
}
int DaoCxx_Fl_PSfile_Device::printable_rect( int* w, int* h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "printable_rect" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _printable_rect = DaoCxxVirt_Fl_Abstract_Printer::printable_rect( _cs, w, h );
	if( _cs ) return _printable_rect;
  }
  return Fl_PSfile_Device::printable_rect( w, h );
}
void DaoCxx_Fl_PSfile_Device::push_clip( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "push_clip" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::push_clip( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_PSfile_Device::push_clip( x, y, w, h );
}
void DaoCxx_Fl_PSfile_Device::push_no_clip(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "push_no_clip" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::push_no_clip( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::push_no_clip(  );
}
void DaoCxx_Fl_PSfile_Device::rect( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rect" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::rect( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_PSfile_Device::rect( x, y, w, h );
}
void DaoCxx_Fl_PSfile_Device::rectf( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rectf" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::rectf( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_PSfile_Device::rectf( x, y, w, h );
}
void DaoCxx_Fl_PSfile_Device::rotate( float angle )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rotate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::rotate( _cs, angle );
	if( _cs ) return;
  }
  Fl_PSfile_Device::rotate( angle );
}
void DaoCxx_Fl_PSfile_Device::scale( float scale_x, float scale_y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "scale" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::scale( _cs, scale_x, scale_y );
	if( _cs ) return;
  }
  Fl_PSfile_Device::scale( scale_x, scale_y );
}
int DaoCxx_Fl_PSfile_Device::start_page(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "start_page" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _start_page = DaoCxxVirt_Fl_PSfile_Device::start_page( _cs  );
	if( _cs ) return _start_page;
  }
  return Fl_PSfile_Device::start_page(  );
}
void DaoCxx_Fl_PSfile_Device::transformed_vertex( double x, double y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "transformed_vertex" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::transformed_vertex( _cs, x, y );
	if( _cs ) return;
  }
  Fl_PSfile_Device::transformed_vertex( x, y );
}
void DaoCxx_Fl_PSfile_Device::translate( int x, int y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "translate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Abstract_Printer::translate( _cs, x, y );
	if( _cs ) return;
  }
  Fl_PSfile_Device::translate( x, y );
}
void DaoCxx_Fl_PSfile_Device::untranslate(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "untranslate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_PSfile_Device::untranslate( _cs  );
	if( _cs ) return;
  }
  Fl_PSfile_Device::untranslate(  );
}
void DaoCxx_Fl_PSfile_Device::vertex( double x, double y )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "vertex" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::vertex( _cs, x, y );
	if( _cs ) return;
  }
  Fl_PSfile_Device::vertex( x, y );
}
void DaoCxx_Fl_PSfile_Device::xyline( int x, int y, int x1 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::xyline( _cs, x, y, x1 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::xyline( x, y, x1 );
}
void DaoCxx_Fl_PSfile_Device::xyline( int x, int y, int x1, int y2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::xyline( _cs, x, y, x1, y2 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::xyline( x, y, x1, y2 );
}
void DaoCxx_Fl_PSfile_Device::xyline( int x, int y, int x1, int y2, int x3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "xyline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::xyline( _cs, x, y, x1, y2, x3 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::xyline( x, y, x1, y2, x3 );
}
void DaoCxx_Fl_PSfile_Device::yxline( int x, int y, int y1 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::yxline( _cs, x, y, y1 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::yxline( x, y, y1 );
}
void DaoCxx_Fl_PSfile_Device::yxline( int x, int y, int y1, int x2 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::yxline( _cs, x, y, y1, x2 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::yxline( x, y, y1, x2 );
}
void DaoCxx_Fl_PSfile_Device::yxline( int x, int y, int y1, int x2, int y3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "yxline" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Device::yxline( _cs, x, y, y1, x2, y3 );
	if( _cs ) return;
  }
  Fl_PSfile_Device::yxline( x, y, y1, x2, y3 );
}




DaoCxx_Fl_Pack* DAO_DLL_FLTK DaoCxx_Fl_Pack_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Pack *self = new DaoCxx_Fl_Pack( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Pack::DaoInitWrapper( Fl_Pack *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Group::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Pack::~DaoCxx_Fl_Pack()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Pack::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Pack_Typer, this );
	DaoCxxVirt_Fl_Pack::DaoInitWrapper( this, cdata );
}
Fl_Group* DaoCxxVirt_Fl_Pack::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Group::as_group( _cs  );
}
Fl_Group* DaoCxx_Fl_Pack::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Pack::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}
void DaoCxx_Fl_Pack::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Pack::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Pack::draw(  );
}


Fl_Preferences* DAO_DLL_FLTK Dao_Fl_Preferences_New( Fl_Preferences &parent, const char* group )
{
	Fl_Preferences *object = new Fl_Preferences( parent, group );
	return object;
}
Fl_Preferences* DAO_DLL_FLTK Dao_Fl_Preferences_New( Fl_Preferences &parent, int groupIndex )
{
	Fl_Preferences *object = new Fl_Preferences( parent, groupIndex );
	return object;
}
Fl_Preferences* DAO_DLL_FLTK Dao_Fl_Preferences_New( Fl_Preferences* parent, const char* group )
{
	Fl_Preferences *object = new Fl_Preferences( parent, group );
	return object;
}
Fl_Preferences* DAO_DLL_FLTK Dao_Fl_Preferences_New( Fl_Preferences* parent, int groupIndex )
{
	Fl_Preferences *object = new Fl_Preferences( parent, groupIndex );
	return object;
}
Fl_Preferences* DAO_DLL_FLTK Dao_Fl_Preferences_New( Fl_Preferences::ID id )
{
	Fl_Preferences *object = new Fl_Preferences( id );
	return object;
}
Fl_Preferences* DAO_DLL_FLTK Dao_Fl_Preferences_New( Fl_Preferences::Root root, const char* vendor, const char* application )
{
	Fl_Preferences *object = new Fl_Preferences( root, vendor, application );
	return object;
}
Fl_Preferences* DAO_DLL_FLTK Dao_Fl_Preferences_New( const Fl_Preferences &_cp0 )
{
	Fl_Preferences *object = new Fl_Preferences( _cp0 );
	return object;
}
Fl_Preferences* DAO_DLL_FLTK Dao_Fl_Preferences_New( const char* path, const char* vendor, const char* application )
{
	Fl_Preferences *object = new Fl_Preferences( path, vendor, application );
	return object;
}


Fl_Plugin_Manager* DAO_DLL_FLTK Dao_Fl_Plugin_Manager_New( const char* klass )
{
	Fl_Plugin_Manager *object = new Fl_Plugin_Manager( klass );
	return object;
}


DaoCxx_Fl_Positioner* DAO_DLL_FLTK DaoCxx_Fl_Positioner_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Positioner *self = new DaoCxx_Fl_Positioner( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Positioner::DaoInitWrapper( Fl_Positioner *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Positioner::~DaoCxx_Fl_Positioner()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Positioner::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Positioner_Typer, this );
	DaoCxxVirt_Fl_Positioner::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Positioner::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Fl_Positioner::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_Positioner::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_Positioner::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
void DaoCxxVirt_Fl_Positioner::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_Positioner::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Positioner::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_Positioner::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Positioner::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_Positioner::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Positioner::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_Positioner::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Positioner::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_Positioner::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Positioner::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
void DaoCxx_Fl_Positioner::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Positioner::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_Positioner::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Positioner::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Fl_Positioner::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Positioner::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}
void DaoCxx_Fl_Positioner::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Positioner::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Positioner::draw(  );
}
int DaoCxx_Fl_Positioner::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Positioner::handle( _cp0 );
}







DaoCxx_Fl_Progress* DAO_DLL_FLTK DaoCxx_Fl_Progress_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Progress *self = new DaoCxx_Fl_Progress( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Progress::DaoInitWrapper( Fl_Progress *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Progress::~DaoCxx_Fl_Progress()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Progress::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Progress_Typer, this );
	DaoCxxVirt_Fl_Progress::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Progress::draw( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Progress::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Fl_Progress::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_Progress::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_Progress::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
int DaoCxxVirt_Fl_Progress::handle( int &_cs, int event )
{
  return DaoCxxVirt_Fl_Widget::handle( _cs, event );
}
void DaoCxxVirt_Fl_Progress::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_Progress::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Progress::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_Progress::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Progress::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_Progress::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Progress::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_Progress::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Progress::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_Progress::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Progress::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
void DaoCxx_Fl_Progress::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Progress::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Progress::draw(  );
}
int DaoCxx_Fl_Progress::handle( int event )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Progress::handle( _cs, event );
	if( _cs ) return _handle;
  }
  return Fl_Widget::handle( event );
}
void DaoCxx_Fl_Progress::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Progress::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_Progress::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Progress::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Fl_Progress::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Progress::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}


DaoCxx_Fl_Radio_Button* DAO_DLL_FLTK DaoCxx_Fl_Radio_Button_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Radio_Button *self = new DaoCxx_Fl_Radio_Button( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Radio_Button::DaoInitWrapper( Fl_Radio_Button *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Button::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Radio_Button::~DaoCxx_Fl_Radio_Button()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Radio_Button::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Radio_Button_Typer, this );
	DaoCxxVirt_Fl_Radio_Button::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Radio_Button::draw( int &_cs  )
{
   DaoCxxVirt_Fl_Button::draw( _cs  );
}
int DaoCxxVirt_Fl_Radio_Button::handle( int &_cs, int _cp0 )
{
  return DaoCxxVirt_Fl_Button::handle( _cs, _cp0 );
}
void DaoCxx_Fl_Radio_Button::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Radio_Button::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Button::draw(  );
}
int DaoCxx_Fl_Radio_Button::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Radio_Button::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Button::handle( _cp0 );
}


DaoCxx_Fl_Radio_Light_Button* DAO_DLL_FLTK DaoCxx_Fl_Radio_Light_Button_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Radio_Light_Button *self = new DaoCxx_Fl_Radio_Light_Button( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Radio_Light_Button::DaoInitWrapper( Fl_Radio_Light_Button *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Light_Button::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Radio_Light_Button::~DaoCxx_Fl_Radio_Light_Button()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Radio_Light_Button::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Radio_Light_Button_Typer, this );
	DaoCxxVirt_Fl_Radio_Light_Button::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Radio_Light_Button::draw( int &_cs  )
{
   DaoCxxVirt_Fl_Light_Button::draw( _cs  );
}
int DaoCxxVirt_Fl_Radio_Light_Button::handle( int &_cs, int _cp0 )
{
  return DaoCxxVirt_Fl_Light_Button::handle( _cs, _cp0 );
}
void DaoCxx_Fl_Radio_Light_Button::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Radio_Light_Button::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Light_Button::draw(  );
}
int DaoCxx_Fl_Radio_Light_Button::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Radio_Light_Button::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Light_Button::handle( _cp0 );
}


DaoCxx_Fl_Round_Button* DAO_DLL_FLTK DaoCxx_Fl_Round_Button_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Round_Button *self = new DaoCxx_Fl_Round_Button( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Round_Button::DaoInitWrapper( Fl_Round_Button *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Light_Button::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Round_Button::~DaoCxx_Fl_Round_Button()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Round_Button::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Round_Button_Typer, this );
	DaoCxxVirt_Fl_Round_Button::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Round_Button::draw( int &_cs  )
{
   DaoCxxVirt_Fl_Light_Button::draw( _cs  );
}
int DaoCxxVirt_Fl_Round_Button::handle( int &_cs, int _cp0 )
{
  return DaoCxxVirt_Fl_Light_Button::handle( _cs, _cp0 );
}
void DaoCxx_Fl_Round_Button::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Round_Button::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Light_Button::draw(  );
}
int DaoCxx_Fl_Round_Button::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Round_Button::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Light_Button::handle( _cp0 );
}


DaoCxx_Fl_Radio_Round_Button* DAO_DLL_FLTK DaoCxx_Fl_Radio_Round_Button_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Radio_Round_Button *self = new DaoCxx_Fl_Radio_Round_Button( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Radio_Round_Button::DaoInitWrapper( Fl_Radio_Round_Button *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Round_Button::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Radio_Round_Button::~DaoCxx_Fl_Radio_Round_Button()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Radio_Round_Button::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Radio_Round_Button_Typer, this );
	DaoCxxVirt_Fl_Radio_Round_Button::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Repeat_Button* DAO_DLL_FLTK DaoCxx_Fl_Repeat_Button_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Repeat_Button *self = new DaoCxx_Fl_Repeat_Button( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Repeat_Button::DaoInitWrapper( Fl_Repeat_Button *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Button::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Repeat_Button::~DaoCxx_Fl_Repeat_Button()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Repeat_Button::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Repeat_Button_Typer, this );
	DaoCxxVirt_Fl_Repeat_Button::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Repeat_Button::draw( int &_cs  )
{
   DaoCxxVirt_Fl_Button::draw( _cs  );
}
void DaoCxx_Fl_Repeat_Button::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Repeat_Button::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Button::draw(  );
}
int DaoCxx_Fl_Repeat_Button::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Button::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Repeat_Button::handle( _cp0 );
}


DaoCxx_Fl_Return_Button* DAO_DLL_FLTK DaoCxx_Fl_Return_Button_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Return_Button *self = new DaoCxx_Fl_Return_Button( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Return_Button::DaoInitWrapper( Fl_Return_Button *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Button::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Return_Button::~DaoCxx_Fl_Return_Button()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Return_Button::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Return_Button_Typer, this );
	DaoCxxVirt_Fl_Return_Button::DaoInitWrapper( this, cdata );
}
void DaoCxx_Fl_Return_Button::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Return_Button::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Return_Button::draw(  );
}
int DaoCxx_Fl_Return_Button::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Button::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Return_Button::handle( _cp0 );
}


DaoCxx_Fl_Roller* DAO_DLL_FLTK DaoCxx_Fl_Roller_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Roller *self = new DaoCxx_Fl_Roller( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Roller::DaoInitWrapper( Fl_Roller *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Valuator::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Roller::~DaoCxx_Fl_Roller()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Roller::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Roller_Typer, this );
	DaoCxxVirt_Fl_Roller::DaoInitWrapper( this, cdata );
}
int DaoCxxVirt_Fl_Roller::format( int &_cs, char* _cp0 )
{
  return DaoCxxVirt_Fl_Valuator::format( _cs, _cp0 );
}
void DaoCxxVirt_Fl_Roller::value_damage( int &_cs  )
{
   DaoCxxVirt_Fl_Valuator::value_damage( _cs  );
}
int DaoCxx_Fl_Roller::format( char* _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "format" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _format = DaoCxxVirt_Fl_Roller::format( _cs, _cp0 );
	if( _cs ) return _format;
  }
  return Fl_Valuator::format( _cp0 );
}
void DaoCxx_Fl_Roller::value_damage(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "value_damage" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Roller::value_damage( _cs  );
	if( _cs ) return;
  }
  Fl_Valuator::value_damage(  );
}
void DaoCxx_Fl_Roller::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Roller::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Roller::draw(  );
}
int DaoCxx_Fl_Roller::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Roller::handle( _cp0 );
}


DaoCxx_Fl_Round_Clock* DAO_DLL_FLTK DaoCxx_Fl_Round_Clock_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Round_Clock *self = new DaoCxx_Fl_Round_Clock( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Round_Clock::DaoInitWrapper( Fl_Round_Clock *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Clock::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Round_Clock::~DaoCxx_Fl_Round_Clock()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Round_Clock::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Round_Clock_Typer, this );
	DaoCxxVirt_Fl_Round_Clock::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Scroll* DAO_DLL_FLTK DaoCxx_Fl_Scroll_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Scroll *self = new DaoCxx_Fl_Scroll( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Scroll::DaoInitWrapper( Fl_Scroll *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Group::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Scroll::~DaoCxx_Fl_Scroll()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Scroll::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Scroll_Typer, this );
	DaoCxxVirt_Fl_Scroll::DaoInitWrapper( this, cdata );
}
Fl_Group* DaoCxxVirt_Fl_Scroll::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Group::as_group( _cs  );
}
Fl_Group* DaoCxx_Fl_Scroll::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Scroll::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}
void DaoCxx_Fl_Scroll::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Scroll::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Scroll::draw(  );
}
int DaoCxx_Fl_Scroll::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Scroll::handle( _cp0 );
}
void DaoCxx_Fl_Scroll::resize( int _cp0, int _cp1, int _cp2, int _cp3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Widget::resize( _cs, _cp0, _cp1, _cp2, _cp3 );
	if( _cs ) return;
  }
  Fl_Scroll::resize( _cp0, _cp1, _cp2, _cp3 );
}



DaoCxx_Fl_Scrollbar* DAO_DLL_FLTK DaoCxx_Fl_Scrollbar_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Scrollbar *self = new DaoCxx_Fl_Scrollbar( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Scrollbar::DaoInitWrapper( Fl_Scrollbar *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Slider::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Scrollbar::~DaoCxx_Fl_Scrollbar()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Scrollbar::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Scrollbar_Typer, this );
	DaoCxxVirt_Fl_Scrollbar::DaoInitWrapper( this, cdata );
}
void DaoCxx_Fl_Scrollbar::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Scrollbar::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Scrollbar::draw(  );
}
int DaoCxx_Fl_Scrollbar::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Scrollbar::handle( _cp0 );
}


DaoCxx_Fl_Secret_Input* DAO_DLL_FLTK DaoCxx_Fl_Secret_Input_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Secret_Input *self = new DaoCxx_Fl_Secret_Input( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Secret_Input::DaoInitWrapper( Fl_Secret_Input *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Input::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Secret_Input::~DaoCxx_Fl_Secret_Input()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Secret_Input::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Secret_Input_Typer, this );
	DaoCxxVirt_Fl_Secret_Input::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Select_Browser* DAO_DLL_FLTK DaoCxx_Fl_Select_Browser_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Select_Browser *self = new DaoCxx_Fl_Select_Browser( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Select_Browser::DaoInitWrapper( Fl_Select_Browser *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Browser::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Select_Browser::~DaoCxx_Fl_Select_Browser()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Select_Browser::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Select_Browser_Typer, this );
	DaoCxxVirt_Fl_Select_Browser::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Shared_Image* DAO_DLL_FLTK DaoCxx_Fl_Shared_Image_New(  )
{
	DaoCxx_Fl_Shared_Image *self = new DaoCxx_Fl_Shared_Image(  );
	self->DaoInitWrapper();
	return self;
}
DaoCxx_Fl_Shared_Image* DAO_DLL_FLTK DaoCxx_Fl_Shared_Image_New( const char* n, Fl_Image* img )
{
	DaoCxx_Fl_Shared_Image *self = new DaoCxx_Fl_Shared_Image( n, img );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Shared_Image::DaoInitWrapper( Fl_Shared_Image *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Image::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Shared_Image::~DaoCxx_Fl_Shared_Image()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Shared_Image::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Shared_Image_Typer, this );
	DaoCxxVirt_Fl_Shared_Image::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Shared_Image::color_average( int &_cs, Fl_Color c, float i )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color_average" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100c5( & _cs, _ro, & _obj, c, i );
}
Fl_Image* DaoCxxVirt_Fl_Shared_Image::copy( int &_cs, int W, int H )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  Fl_Image* _copy = NULL;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _copy;
  return (Fl_Image*)Function_100c4( & _cs, _ro, & _obj, W, H );
}
void DaoCxxVirt_Fl_Shared_Image::desaturate( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "desaturate" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Shared_Image::draw( int &_cs, int X, int Y, int W, int H, int cx, int cy )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1009d( & _cs, _ro, & _obj, X, Y, W, H, cx, cy );
}
void DaoCxxVirt_Fl_Shared_Image::uncache( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "uncache" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Shared_Image::label( int &_cs, Fl_Menu_Item* m )
{
   DaoCxxVirt_Fl_Image::label( _cs, m );
}
void DaoCxxVirt_Fl_Shared_Image::label( int &_cs, Fl_Widget* w )
{
   DaoCxxVirt_Fl_Image::label( _cs, w );
}
void DaoCxx_Fl_Shared_Image::color_average( Fl_Color c, float i )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color_average" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Shared_Image::color_average( _cs, c, i );
	if( _cs ) return;
  }
  Fl_Shared_Image::color_average( c, i );
}
Fl_Image* DaoCxx_Fl_Shared_Image::copy( int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Image* _copy = DaoCxxVirt_Fl_Shared_Image::copy( _cs, W, H );
	if( _cs ) return _copy;
  }
  return Fl_Shared_Image::copy( W, H );
}
void DaoCxx_Fl_Shared_Image::desaturate(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "desaturate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Shared_Image::desaturate( _cs  );
	if( _cs ) return;
  }
  Fl_Shared_Image::desaturate(  );
}
void DaoCxx_Fl_Shared_Image::draw( int X, int Y, int W, int H, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Shared_Image::draw( _cs, X, Y, W, H, cx, cy );
	if( _cs ) return;
  }
  Fl_Shared_Image::draw( X, Y, W, H, cx, cy );
}
void DaoCxx_Fl_Shared_Image::label( Fl_Menu_Item* m )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Shared_Image::label( _cs, m );
	if( _cs ) return;
  }
  Fl_Image::label( m );
}
void DaoCxx_Fl_Shared_Image::label( Fl_Widget* w )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Shared_Image::label( _cs, w );
	if( _cs ) return;
  }
  Fl_Image::label( w );
}
void DaoCxx_Fl_Shared_Image::uncache(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "uncache" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Shared_Image::uncache( _cs  );
	if( _cs ) return;
  }
  Fl_Shared_Image::uncache(  );
}


DaoCxx_Fl_Simple_Counter* DAO_DLL_FLTK DaoCxx_Fl_Simple_Counter_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Simple_Counter *self = new DaoCxx_Fl_Simple_Counter( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Simple_Counter::DaoInitWrapper( Fl_Simple_Counter *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Counter::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Simple_Counter::~DaoCxx_Fl_Simple_Counter()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Simple_Counter::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Simple_Counter_Typer, this );
	DaoCxxVirt_Fl_Simple_Counter::DaoInitWrapper( this, cdata );
}


DaoCxx_Fl_Spinner* DAO_DLL_FLTK DaoCxx_Fl_Spinner_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Spinner *self = new DaoCxx_Fl_Spinner( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Spinner::DaoInitWrapper( Fl_Spinner *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Group::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Spinner::~DaoCxx_Fl_Spinner()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Spinner::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Spinner_Typer, this );
	DaoCxxVirt_Fl_Spinner::DaoInitWrapper( this, cdata );
}
Fl_Group* DaoCxxVirt_Fl_Spinner::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Group::as_group( _cs  );
}
Fl_Group* DaoCxx_Fl_Spinner::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Spinner::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}
int DaoCxx_Fl_Spinner::handle( int event )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, event );
	if( _cs ) return _handle;
  }
  return Fl_Spinner::handle( event );
}
void DaoCxx_Fl_Spinner::resize( int X, int Y, int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Widget::resize( _cs, X, Y, W, H );
	if( _cs ) return;
  }
  Fl_Spinner::resize( X, Y, W, H );
}


DaoCxx_Fl_Table* DAO_DLL_FLTK DaoCxx_Fl_Table_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Table *self = new DaoCxx_Fl_Table( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Table::DaoInitWrapper( Fl_Table *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Group::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Table::~DaoCxx_Fl_Table()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Table::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Table_Typer, this );
	DaoCxxVirt_Fl_Table::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Table::clear( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "clear" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Table::cols( int &_cs, int val )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "cols" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10013( & _cs, _ro, & _obj, val );
}
void DaoCxxVirt_Fl_Table::draw_cell( int &_cs, int context, int R, int C, int X, int Y, int W, int H )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw_cell" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10061( & _cs, _ro, & _obj, context, R, C, X, Y, W, H );
}
void DaoCxxVirt_Fl_Table::rows( int &_cs, int val )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rows" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10013( & _cs, _ro, & _obj, val );
}
Fl_Group* DaoCxxVirt_Fl_Table::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Group::as_group( _cs  );
}
Fl_Group* DaoCxx_Fl_Table::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Table::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}
void DaoCxx_Fl_Table::clear(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "clear" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Table::clear( _cs  );
	if( _cs ) return;
  }
  Fl_Table::clear(  );
}
void DaoCxx_Fl_Table::cols( int val )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "cols" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Table::cols( _cs, val );
	if( _cs ) return;
  }
  Fl_Table::cols( val );
}
void DaoCxx_Fl_Table::draw_cell( Fl_Table::TableContext context, int R, int C, int X, int Y, int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw_cell" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Table::draw_cell( _cs, context, R, C, X, Y, W, H );
	if( _cs ) return;
  }
  Fl_Table::draw_cell( context, R, C, X, Y, W, H );
}
void DaoCxx_Fl_Table::rows( int val )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rows" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Table::rows( _cs, val );
	if( _cs ) return;
  }
  Fl_Table::rows( val );
}
void DaoCxx_Fl_Table::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Table::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Table::draw(  );
}
int DaoCxx_Fl_Table::handle( int e )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, e );
	if( _cs ) return _handle;
  }
  return Fl_Table::handle( e );
}
void DaoCxx_Fl_Table::resize( int X, int Y, int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Widget::resize( _cs, X, Y, W, H );
	if( _cs ) return;
  }
  Fl_Table::resize( X, Y, W, H );
}



DaoCxx_Fl_Table_Row* DAO_DLL_FLTK DaoCxx_Fl_Table_Row_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Table_Row *self = new DaoCxx_Fl_Table_Row( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Table_Row::DaoInitWrapper( Fl_Table_Row *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Table::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Table_Row::~DaoCxx_Fl_Table_Row()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Table_Row::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Table_Row_Typer, this );
	DaoCxxVirt_Fl_Table_Row::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Table_Row::cols( int &_cs, int val )
{
   DaoCxxVirt_Fl_Table::cols( _cs, val );
}
void DaoCxxVirt_Fl_Table_Row::draw_cell( int &_cs, int context, int R, int C, int X, int Y, int W, int H )
{
   DaoCxxVirt_Fl_Table::draw_cell( _cs, context, R, C, X, Y, W, H );
}
void DaoCxx_Fl_Table_Row::cols( int val )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "cols" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Table_Row::cols( _cs, val );
	if( _cs ) return;
  }
  Fl_Table::cols( val );
}
void DaoCxx_Fl_Table_Row::draw_cell( Fl_Table::TableContext context, int R, int C, int X, int Y, int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw_cell" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Table_Row::draw_cell( _cs, context, R, C, X, Y, W, H );
	if( _cs ) return;
  }
  Fl_Table::draw_cell( context, R, C, X, Y, W, H );
}
void DaoCxx_Fl_Table_Row::clear(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "clear" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Table_Row::clear( _cs  );
	if( _cs ) return;
  }
  Fl_Table_Row::clear(  );
}
int DaoCxx_Fl_Table_Row::handle( int event )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, event );
	if( _cs ) return _handle;
  }
  return Fl_Table_Row::handle( event );
}
void DaoCxx_Fl_Table_Row::rows( int val )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "rows" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Table::rows( _cs, val );
	if( _cs ) return;
  }
  Fl_Table_Row::rows( val );
}



DaoCxx_Fl_Tabs* DAO_DLL_FLTK DaoCxx_Fl_Tabs_New( int _cp0, int _cp1, int _cp2, int _cp3, const char* s )
{
	DaoCxx_Fl_Tabs *self = new DaoCxx_Fl_Tabs( _cp0, _cp1, _cp2, _cp3, s );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Tabs::DaoInitWrapper( Fl_Tabs *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Group::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Tabs::~DaoCxx_Fl_Tabs()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Tabs::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Tabs_Typer, this );
	DaoCxxVirt_Fl_Tabs::DaoInitWrapper( this, cdata );
}
Fl_Group* DaoCxxVirt_Fl_Tabs::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Group::as_group( _cs  );
}
Fl_Group* DaoCxx_Fl_Tabs::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Tabs::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}
void DaoCxx_Fl_Tabs::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Tabs::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Tabs::draw(  );
}
int DaoCxx_Fl_Tabs::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Tabs::handle( _cp0 );
}


Fl_Text_Buffer* DAO_DLL_FLTK Dao_Fl_Text_Buffer_New( int requestedSize, int preferredGapSize )
{
	Fl_Text_Buffer *object = new Fl_Text_Buffer( requestedSize, preferredGapSize );
	return object;
}


DaoCxx_Fl_Text_Display* DAO_DLL_FLTK DaoCxx_Fl_Text_Display_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Text_Display *self = new DaoCxx_Fl_Text_Display( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Text_Display::DaoInitWrapper( Fl_Text_Display *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Group::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Text_Display::~DaoCxx_Fl_Text_Display()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Text_Display::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Text_Display_Typer, this );
	DaoCxxVirt_Fl_Text_Display::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Text_Display::draw( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
int DaoCxxVirt_Fl_Text_Display::handle( int &_cs, int e )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  int _handle= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _handle;
  return (int)Function_1001b( & _cs, _ro, & _obj, e );
}
void DaoCxxVirt_Fl_Text_Display::resize( int &_cs, int X, int Y, int W, int H )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_10021( & _cs, _ro, & _obj, X, Y, W, H );
}
Fl_Group* DaoCxxVirt_Fl_Text_Display::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Group::as_group( _cs  );
}
Fl_Group* DaoCxx_Fl_Text_Display::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Text_Display::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}
void DaoCxx_Fl_Text_Display::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Text_Display::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Text_Display::draw(  );
}
int DaoCxx_Fl_Text_Display::handle( int e )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Text_Display::handle( _cs, e );
	if( _cs ) return _handle;
  }
  return Fl_Text_Display::handle( e );
}
void DaoCxx_Fl_Text_Display::resize( int X, int Y, int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Text_Display::resize( _cs, X, Y, W, H );
	if( _cs ) return;
  }
  Fl_Text_Display::resize( X, Y, W, H );
}





DaoCxx_Fl_Text_Editor* DAO_DLL_FLTK DaoCxx_Fl_Text_Editor_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Text_Editor *self = new DaoCxx_Fl_Text_Editor( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Text_Editor::DaoInitWrapper( Fl_Text_Editor *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Text_Display::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Text_Editor::~DaoCxx_Fl_Text_Editor()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Text_Editor::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Text_Editor_Typer, this );
	DaoCxxVirt_Fl_Text_Editor::DaoInitWrapper( this, cdata );
}
int DaoCxxVirt_Fl_Text_Editor::handle( int &_cs, int e )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  int _handle= (int)0;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _handle;
  return (int)Function_1001b( & _cs, _ro, & _obj, e );
}
void DaoCxxVirt_Fl_Text_Editor::draw( int &_cs  )
{
   DaoCxxVirt_Fl_Text_Display::draw( _cs  );
}
void DaoCxxVirt_Fl_Text_Editor::resize( int &_cs, int X, int Y, int W, int H )
{
   DaoCxxVirt_Fl_Text_Display::resize( _cs, X, Y, W, H );
}
void DaoCxx_Fl_Text_Editor::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Text_Editor::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Text_Display::draw(  );
}
int DaoCxx_Fl_Text_Editor::handle( int e )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Text_Editor::handle( _cs, e );
	if( _cs ) return _handle;
  }
  return Fl_Text_Editor::handle( e );
}
void DaoCxx_Fl_Text_Editor::resize( int X, int Y, int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Text_Editor::resize( _cs, X, Y, W, H );
	if( _cs ) return;
  }
  Fl_Text_Display::resize( X, Y, W, H );
}




Fl_Text_Selection* Dao_Fl_Text_Selection_New()
{
	Fl_Text_Selection *self = new Fl_Text_Selection();
	return self;
}


DaoCxx_Fl_Tile* DAO_DLL_FLTK DaoCxx_Fl_Tile_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Tile *self = new DaoCxx_Fl_Tile( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Tile::DaoInitWrapper( Fl_Tile *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Group::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Tile::~DaoCxx_Fl_Tile()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Tile::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Tile_Typer, this );
	DaoCxxVirt_Fl_Tile::DaoInitWrapper( this, cdata );
}
Fl_Group* DaoCxxVirt_Fl_Tile::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Group::as_group( _cs  );
}
Fl_Group* DaoCxx_Fl_Tile::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Tile::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}
int DaoCxx_Fl_Tile::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Tile::handle( _cp0 );
}
void DaoCxx_Fl_Tile::resize( int _cp0, int _cp1, int _cp2, int _cp3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Widget::resize( _cs, _cp0, _cp1, _cp2, _cp3 );
	if( _cs ) return;
  }
  Fl_Tile::resize( _cp0, _cp1, _cp2, _cp3 );
}


DaoCxx_Fl_Tiled_Image* DAO_DLL_FLTK DaoCxx_Fl_Tiled_Image_New( Fl_Image* i, int W, int H )
{
	DaoCxx_Fl_Tiled_Image *self = new DaoCxx_Fl_Tiled_Image( i, W, H );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Tiled_Image::DaoInitWrapper( Fl_Tiled_Image *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Image::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Tiled_Image::~DaoCxx_Fl_Tiled_Image()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Tiled_Image::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Tiled_Image_Typer, this );
	DaoCxxVirt_Fl_Tiled_Image::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Tiled_Image::color_average( int &_cs, Fl_Color c, float i )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color_average" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_100c5( & _cs, _ro, & _obj, c, i );
}
Fl_Image* DaoCxxVirt_Fl_Tiled_Image::copy( int &_cs, int W, int H )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  Fl_Image* _copy = NULL;
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return _copy;
  return (Fl_Image*)Function_100c4( & _cs, _ro, & _obj, W, H );
}
void DaoCxxVirt_Fl_Tiled_Image::desaturate( int &_cs  )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "desaturate" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  _ro = DaoMethod_Resolve( _ro, & _obj, NULL, 0 );
  if( _ro == NULL || _ro->type != DAO_ROUTINE ) return;
  DaoVmProcess *_vmp = DaoVmSpace_AcquireProcess( __daoVmSpace );
  DaoVmProcess_Call( _vmp, _ro, & _obj, NULL, 0 );
  DaoVmSpace_ReleaseProcess( __daoVmSpace, _vmp );
}
void DaoCxxVirt_Fl_Tiled_Image::draw( int &_cs, int X, int Y, int W, int H, int cx, int cy )
{
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro ==NULL || _obj.t != DAO_OBJECT ) return;
  Function_1009d( & _cs, _ro, & _obj, X, Y, W, H, cx, cy );
}
void DaoCxxVirt_Fl_Tiled_Image::label( int &_cs, Fl_Menu_Item* m )
{
   DaoCxxVirt_Fl_Image::label( _cs, m );
}
void DaoCxxVirt_Fl_Tiled_Image::label( int &_cs, Fl_Widget* w )
{
   DaoCxxVirt_Fl_Image::label( _cs, w );
}
void DaoCxxVirt_Fl_Tiled_Image::uncache( int &_cs  )
{
   DaoCxxVirt_Fl_Image::uncache( _cs  );
}
void DaoCxx_Fl_Tiled_Image::color_average( Fl_Color c, float i )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "color_average" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Tiled_Image::color_average( _cs, c, i );
	if( _cs ) return;
  }
  Fl_Tiled_Image::color_average( c, i );
}
Fl_Image* DaoCxx_Fl_Tiled_Image::copy( int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Image* _copy = DaoCxxVirt_Fl_Tiled_Image::copy( _cs, W, H );
	if( _cs ) return _copy;
  }
  return Fl_Tiled_Image::copy( W, H );
}
void DaoCxx_Fl_Tiled_Image::desaturate(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "desaturate" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Tiled_Image::desaturate( _cs  );
	if( _cs ) return;
  }
  Fl_Tiled_Image::desaturate(  );
}
void DaoCxx_Fl_Tiled_Image::draw( int X, int Y, int W, int H, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Tiled_Image::draw( _cs, X, Y, W, H, cx, cy );
	if( _cs ) return;
  }
  Fl_Tiled_Image::draw( X, Y, W, H, cx, cy );
}
void DaoCxx_Fl_Tiled_Image::label( Fl_Menu_Item* m )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Tiled_Image::label( _cs, m );
	if( _cs ) return;
  }
  Fl_Image::label( m );
}
void DaoCxx_Fl_Tiled_Image::label( Fl_Widget* w )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Tiled_Image::label( _cs, w );
	if( _cs ) return;
  }
  Fl_Image::label( w );
}
void DaoCxx_Fl_Tiled_Image::uncache(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "uncache" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Tiled_Image::uncache( _cs  );
	if( _cs ) return;
  }
  Fl_Image::uncache(  );
}


DaoCxx_Fl_Timer* DAO_DLL_FLTK DaoCxx_Fl_Timer_New( uchar t, int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Timer *self = new DaoCxx_Fl_Timer( t, x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Timer::DaoInitWrapper( Fl_Timer *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Timer::~DaoCxx_Fl_Timer()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Timer::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Timer_Typer, this );
	DaoCxxVirt_Fl_Timer::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Fl_Timer::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Fl_Timer::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Fl_Timer::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Fl_Timer::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
void DaoCxxVirt_Fl_Timer::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Fl_Timer::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Fl_Timer::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Fl_Timer::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Fl_Timer::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Fl_Timer::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Timer::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Fl_Timer::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Fl_Timer::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Fl_Timer::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Timer::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
void DaoCxx_Fl_Timer::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Timer::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Fl_Timer::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Timer::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Fl_Timer::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Timer::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}
void DaoCxx_Fl_Timer::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Timer::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Timer::draw(  );
}
int DaoCxx_Fl_Timer::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Timer::handle( _cp0 );
}


DaoCxx_Fl_Toggle_Button* DAO_DLL_FLTK DaoCxx_Fl_Toggle_Button_New( int X, int Y, int W, int H, const char* l )
{
	DaoCxx_Fl_Toggle_Button *self = new DaoCxx_Fl_Toggle_Button( X, Y, W, H, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Toggle_Button::DaoInitWrapper( Fl_Toggle_Button *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Button::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Toggle_Button::~DaoCxx_Fl_Toggle_Button()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Toggle_Button::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Toggle_Button_Typer, this );
	DaoCxxVirt_Fl_Toggle_Button::DaoInitWrapper( this, cdata );
}
void DaoCxxVirt_Fl_Toggle_Button::draw( int &_cs  )
{
   DaoCxxVirt_Fl_Button::draw( _cs  );
}
int DaoCxxVirt_Fl_Toggle_Button::handle( int &_cs, int _cp0 )
{
  return DaoCxxVirt_Fl_Button::handle( _cs, _cp0 );
}
void DaoCxx_Fl_Toggle_Button::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Toggle_Button::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Button::draw(  );
}
int DaoCxx_Fl_Toggle_Button::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Toggle_Button::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Button::handle( _cp0 );
}

Fl_Tooltip* Dao_Fl_Tooltip_New()
{
	Fl_Tooltip *self = new Fl_Tooltip();
	return self;
}


DaoCxx_Fl_Tree* DAO_DLL_FLTK DaoCxx_Fl_Tree_New( int X, int Y, int W, int H, const char* L )
{
	DaoCxx_Fl_Tree *self = new DaoCxx_Fl_Tree( X, Y, W, H, L );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Tree::DaoInitWrapper( Fl_Tree *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Group::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Tree::~DaoCxx_Fl_Tree()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Tree::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Tree_Typer, this );
	DaoCxxVirt_Fl_Tree::DaoInitWrapper( this, cdata );
}
Fl_Group* DaoCxxVirt_Fl_Tree::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Group::as_group( _cs  );
}
Fl_Group* DaoCxx_Fl_Tree::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Tree::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}
void DaoCxx_Fl_Tree::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Tree::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Tree::draw(  );
}
int DaoCxx_Fl_Tree::handle( int e )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, e );
	if( _cs ) return _handle;
  }
  return Fl_Tree::handle( e );
}



Fl_Tree_Item* DAO_DLL_FLTK Dao_Fl_Tree_Item_New( const Fl_Tree_Item* o )
{
	Fl_Tree_Item *object = new Fl_Tree_Item( o );
	return object;
}
Fl_Tree_Item* DAO_DLL_FLTK Dao_Fl_Tree_Item_New( const Fl_Tree_Prefs &prefs )
{
	Fl_Tree_Item *object = new Fl_Tree_Item( prefs );
	return object;
}


Fl_Tree_Item_Array* DAO_DLL_FLTK Dao_Fl_Tree_Item_Array_New( const Fl_Tree_Item_Array* o )
{
	Fl_Tree_Item_Array *object = new Fl_Tree_Item_Array( o );
	return object;
}
Fl_Tree_Item_Array* DAO_DLL_FLTK Dao_Fl_Tree_Item_Array_New( int new_chunksize )
{
	Fl_Tree_Item_Array *object = new Fl_Tree_Item_Array( new_chunksize );
	return object;
}


Fl_Tree_Prefs* DAO_DLL_FLTK Dao_Fl_Tree_Prefs_New(  )
{
	Fl_Tree_Prefs *object = new Fl_Tree_Prefs(  );
	return object;
}




DaoCxx_Fl_Value_Input* DAO_DLL_FLTK DaoCxx_Fl_Value_Input_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Value_Input *self = new DaoCxx_Fl_Value_Input( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Value_Input::DaoInitWrapper( Fl_Value_Input *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Valuator::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Value_Input::~DaoCxx_Fl_Value_Input()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Value_Input::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Value_Input_Typer, this );
	DaoCxxVirt_Fl_Value_Input::DaoInitWrapper( this, cdata );
}
int DaoCxxVirt_Fl_Value_Input::format( int &_cs, char* _cp0 )
{
  return DaoCxxVirt_Fl_Valuator::format( _cs, _cp0 );
}
int DaoCxx_Fl_Value_Input::format( char* _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "format" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _format = DaoCxxVirt_Fl_Value_Input::format( _cs, _cp0 );
	if( _cs ) return _format;
  }
  return Fl_Valuator::format( _cp0 );
}
void DaoCxx_Fl_Value_Input::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Value_Input::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Value_Input::draw(  );
}
int DaoCxx_Fl_Value_Input::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Value_Input::handle( _cp0 );
}
void DaoCxx_Fl_Value_Input::resize( int _cp0, int _cp1, int _cp2, int _cp3 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Widget::resize( _cs, _cp0, _cp1, _cp2, _cp3 );
	if( _cs ) return;
  }
  Fl_Value_Input::resize( _cp0, _cp1, _cp2, _cp3 );
}


DaoCxx_Fl_Value_Output* DAO_DLL_FLTK DaoCxx_Fl_Value_Output_New( int x, int y, int w, int h, const char* l )
{
	DaoCxx_Fl_Value_Output *self = new DaoCxx_Fl_Value_Output( x, y, w, h, l );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Value_Output::DaoInitWrapper( Fl_Value_Output *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Valuator::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Value_Output::~DaoCxx_Fl_Value_Output()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Value_Output::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Value_Output_Typer, this );
	DaoCxxVirt_Fl_Value_Output::DaoInitWrapper( this, cdata );
}
int DaoCxxVirt_Fl_Value_Output::format( int &_cs, char* _cp0 )
{
  return DaoCxxVirt_Fl_Valuator::format( _cs, _cp0 );
}
void DaoCxxVirt_Fl_Value_Output::value_damage( int &_cs  )
{
   DaoCxxVirt_Fl_Valuator::value_damage( _cs  );
}
int DaoCxx_Fl_Value_Output::format( char* _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "format" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _format = DaoCxxVirt_Fl_Value_Output::format( _cs, _cp0 );
	if( _cs ) return _format;
  }
  return Fl_Valuator::format( _cp0 );
}
void DaoCxx_Fl_Value_Output::value_damage(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "value_damage" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Value_Output::value_damage( _cs  );
	if( _cs ) return;
  }
  Fl_Valuator::value_damage(  );
}
void DaoCxx_Fl_Value_Output::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_Value_Output::draw( _cs  );
	if( _cs ) return;
  }
  Fl_Value_Output::draw(  );
}
int DaoCxx_Fl_Value_Output::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Fl_Value_Output::handle( _cp0 );
}


Fl_Widget_Tracker* DAO_DLL_FLTK Dao_Fl_Widget_Tracker_New( Fl_Widget* wi )
{
	Fl_Widget_Tracker *object = new Fl_Widget_Tracker( wi );
	return object;
}


DaoCxx_Fl_Wizard* DAO_DLL_FLTK DaoCxx_Fl_Wizard_New( int _cp0, int _cp1, int _cp2, int _cp3, const char* _cp4 )
{
	DaoCxx_Fl_Wizard *self = new DaoCxx_Fl_Wizard( _cp0, _cp1, _cp2, _cp3, _cp4 );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_Wizard::DaoInitWrapper( Fl_Wizard *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Group::DaoInitWrapper( s, d );
}
DaoCxx_Fl_Wizard::~DaoCxx_Fl_Wizard()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_Wizard::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_Wizard_Typer, this );
	DaoCxxVirt_Fl_Wizard::DaoInitWrapper( this, cdata );
}
Fl_Group* DaoCxxVirt_Fl_Wizard::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Group::as_group( _cs  );
}
Fl_Group* DaoCxx_Fl_Wizard::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Fl_Wizard::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Group::as_group(  );
}


DaoCxx_Fl_XBM_Image* DAO_DLL_FLTK DaoCxx_Fl_XBM_Image_New( const char* filename )
{
	DaoCxx_Fl_XBM_Image *self = new DaoCxx_Fl_XBM_Image( filename );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Fl_XBM_Image::DaoInitWrapper( Fl_XBM_Image *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Bitmap::DaoInitWrapper( s, d );
}
DaoCxx_Fl_XBM_Image::~DaoCxx_Fl_XBM_Image()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Fl_XBM_Image::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Fl_XBM_Image_Typer, this );
	DaoCxxVirt_Fl_XBM_Image::DaoInitWrapper( this, cdata );
}
Fl_Image* DaoCxxVirt_Fl_XBM_Image::copy( int &_cs, int W, int H )
{
  return DaoCxxVirt_Fl_Bitmap::copy( _cs, W, H );
}
void DaoCxxVirt_Fl_XBM_Image::draw( int &_cs, int X, int Y, int W, int H, int cx, int cy )
{
   DaoCxxVirt_Fl_Bitmap::draw( _cs, X, Y, W, H, cx, cy );
}
void DaoCxxVirt_Fl_XBM_Image::label( int &_cs, Fl_Menu_Item* m )
{
   DaoCxxVirt_Fl_Bitmap::label( _cs, m );
}
void DaoCxxVirt_Fl_XBM_Image::label( int &_cs, Fl_Widget* w )
{
   DaoCxxVirt_Fl_Bitmap::label( _cs, w );
}
void DaoCxxVirt_Fl_XBM_Image::uncache( int &_cs  )
{
   DaoCxxVirt_Fl_Bitmap::uncache( _cs  );
}
Fl_Image* DaoCxx_Fl_XBM_Image::copy( int W, int H )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "copy" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Image* _copy = DaoCxxVirt_Fl_XBM_Image::copy( _cs, W, H );
	if( _cs ) return _copy;
  }
  return Fl_Bitmap::copy( W, H );
}
void DaoCxx_Fl_XBM_Image::draw( int X, int Y, int W, int H, int cx, int cy )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_XBM_Image::draw( _cs, X, Y, W, H, cx, cy );
	if( _cs ) return;
  }
  Fl_Bitmap::draw( X, Y, W, H, cx, cy );
}
void DaoCxx_Fl_XBM_Image::label( Fl_Menu_Item* m )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_XBM_Image::label( _cs, m );
	if( _cs ) return;
  }
  Fl_Bitmap::label( m );
}
void DaoCxx_Fl_XBM_Image::label( Fl_Widget* w )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "label" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_XBM_Image::label( _cs, w );
	if( _cs ) return;
  }
  Fl_Bitmap::label( w );
}
void DaoCxx_Fl_XBM_Image::uncache(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "uncache" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Fl_XBM_Image::uncache( _cs  );
	if( _cs ) return;
  }
  Fl_Bitmap::uncache(  );
}


Fl_XPM_Image* DAO_DLL_FLTK Dao_Fl_XPM_Image_New( const char* filename )
{
	Fl_XPM_Image *object = new Fl_XPM_Image( filename );
	return object;
}


DaoCxx_Flcc_HueBox* DAO_DLL_FLTK DaoCxx_Flcc_HueBox_New( int X, int Y, int W, int H )
{
	DaoCxx_Flcc_HueBox *self = new DaoCxx_Flcc_HueBox( X, Y, W, H );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Flcc_HueBox::DaoInitWrapper( Flcc_HueBox *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Flcc_HueBox::~DaoCxx_Flcc_HueBox()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Flcc_HueBox::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Flcc_HueBox_Typer, this );
	DaoCxxVirt_Flcc_HueBox::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Flcc_HueBox::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Flcc_HueBox::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Flcc_HueBox::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Flcc_HueBox::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
void DaoCxxVirt_Flcc_HueBox::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Flcc_HueBox::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Flcc_HueBox::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Flcc_HueBox::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Flcc_HueBox::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Flcc_HueBox::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Flcc_HueBox::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Flcc_HueBox::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Flcc_HueBox::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Flcc_HueBox::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Flcc_HueBox::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
void DaoCxx_Flcc_HueBox::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Flcc_HueBox::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Flcc_HueBox::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Flcc_HueBox::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Flcc_HueBox::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Flcc_HueBox::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}
void DaoCxx_Flcc_HueBox::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Flcc_HueBox::draw( _cs  );
	if( _cs ) return;
  }
  Flcc_HueBox::draw(  );
}
int DaoCxx_Flcc_HueBox::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Flcc_HueBox::handle( _cp0 );
}


DaoCxx_Flcc_ValueBox* DAO_DLL_FLTK DaoCxx_Flcc_ValueBox_New( int X, int Y, int W, int H )
{
	DaoCxx_Flcc_ValueBox *self = new DaoCxx_Flcc_ValueBox( X, Y, W, H );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Flcc_ValueBox::DaoInitWrapper( Flcc_ValueBox *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Widget::DaoInitWrapper( s, d );
}
DaoCxx_Flcc_ValueBox::~DaoCxx_Flcc_ValueBox()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Flcc_ValueBox::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Flcc_ValueBox_Typer, this );
	DaoCxxVirt_Flcc_ValueBox::DaoInitWrapper( this, cdata );
}
Fl_Gl_Window* DaoCxxVirt_Flcc_ValueBox::as_gl_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_gl_window( _cs  );
}
Fl_Group* DaoCxxVirt_Flcc_ValueBox::as_group( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_group( _cs  );
}
Fl_Window* DaoCxxVirt_Flcc_ValueBox::as_window( int &_cs  )
{
  return DaoCxxVirt_Fl_Widget::as_window( _cs  );
}
void DaoCxxVirt_Flcc_ValueBox::do_callback( int &_cs, Fl_Widget* o, void* arg )
{
   DaoCxxVirt_Fl_Widget::do_callback( _cs, o, arg );
}
void DaoCxxVirt_Flcc_ValueBox::hide( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::hide( _cs  );
}
void DaoCxxVirt_Flcc_ValueBox::resize( int &_cs, int x, int y, int w, int h )
{
   DaoCxxVirt_Fl_Widget::resize( _cs, x, y, w, h );
}
void DaoCxxVirt_Flcc_ValueBox::show( int &_cs  )
{
   DaoCxxVirt_Fl_Widget::show( _cs  );
}
Fl_Gl_Window* DaoCxx_Flcc_ValueBox::as_gl_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_gl_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Gl_Window* _as_gl_window = DaoCxxVirt_Flcc_ValueBox::as_gl_window( _cs  );
	if( _cs ) return _as_gl_window;
  }
  return Fl_Widget::as_gl_window(  );
}
Fl_Group* DaoCxx_Flcc_ValueBox::as_group(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_group" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Group* _as_group = DaoCxxVirt_Flcc_ValueBox::as_group( _cs  );
	if( _cs ) return _as_group;
  }
  return Fl_Widget::as_group(  );
}
Fl_Window* DaoCxx_Flcc_ValueBox::as_window(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "as_window" );
  if( _ro && _obj.t == DAO_OBJECT ){
    Fl_Window* _as_window = DaoCxxVirt_Flcc_ValueBox::as_window( _cs  );
	if( _cs ) return _as_window;
  }
  return Fl_Widget::as_window(  );
}
void DaoCxx_Flcc_ValueBox::do_callback( Fl_Widget* o, void* arg )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "do_callback" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Flcc_ValueBox::do_callback( _cs, o, arg );
	if( _cs ) return;
  }
  Fl_Widget::do_callback( o, arg );
}
void DaoCxx_Flcc_ValueBox::hide(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "hide" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Flcc_ValueBox::hide( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::hide(  );
}
void DaoCxx_Flcc_ValueBox::resize( int x, int y, int w, int h )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "resize" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Flcc_ValueBox::resize( _cs, x, y, w, h );
	if( _cs ) return;
  }
  Fl_Widget::resize( x, y, w, h );
}
void DaoCxx_Flcc_ValueBox::show(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "show" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Flcc_ValueBox::show( _cs  );
	if( _cs ) return;
  }
  Fl_Widget::show(  );
}
void DaoCxx_Flcc_ValueBox::draw(  )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "draw" );
  if( _ro && _obj.t == DAO_OBJECT ){
    DaoCxxVirt_Flcc_ValueBox::draw( _cs  );
	if( _cs ) return;
  }
  Flcc_ValueBox::draw(  );
}
int DaoCxx_Flcc_ValueBox::handle( int _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "handle" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _handle = DaoCxxVirt_Fl_Widget::handle( _cs, _cp0 );
	if( _cs ) return _handle;
  }
  return Flcc_ValueBox::handle( _cp0 );
}


DaoCxx_Flcc_Value_Input* DAO_DLL_FLTK DaoCxx_Flcc_Value_Input_New( int X, int Y, int W, int H )
{
	DaoCxx_Flcc_Value_Input *self = new DaoCxx_Flcc_Value_Input( X, Y, W, H );
	self->DaoInitWrapper();
	return self;
}
void DaoCxxVirt_Flcc_Value_Input::DaoInitWrapper( Flcc_Value_Input *s, DaoCData *d )
{
	self = s;
	cdata = d;
	DaoCxxVirt_Fl_Value_Input::DaoInitWrapper( s, d );
}
DaoCxx_Flcc_Value_Input::~DaoCxx_Flcc_Value_Input()
{
	if( cdata ){
		DaoCData_SetData( cdata, NULL );
		DaoCData_SetExtReference( cdata, 0 );
	} 
}
void DaoCxx_Flcc_Value_Input::DaoInitWrapper()
{
	cdata = DaoCData_New( dao_Flcc_Value_Input_Typer, this );
	DaoCxxVirt_Flcc_Value_Input::DaoInitWrapper( this, cdata );
}
int DaoCxx_Flcc_Value_Input::format( char* _cp0 )
{
  int _cs = 0;
  DValue _obj = {0,0,0,0,{0}};
  DaoMethod *_ro = Dao_Get_Object_Method( cdata, & _obj, "format" );
  if( _ro && _obj.t == DAO_OBJECT ){
    int _format = DaoCxxVirt_Fl_Valuator::format( _cs, _cp0 );
	if( _cs ) return _format;
  }
  return Flcc_Value_Input::format( _cp0 );
}










